LINUX.ORG.RU

Content-Type с сервера какой приходит?

anonymous
()

Включи на боковой панели пункт Сведения и скопируй сюда, что пишет при открытии твоего сайта.

anonymfus ★★★★
()
Ответ на: комментарий от anonymfus
default.txtURL главной страницы:
http://84.242.233.188:8080/
Кодировка (использует Opera):
- не объявлена - (utf-8)
MIME-тип:
text/plain
Размер страницы:
787 байт
Загружена:
31.05.2010 21:41:04
Локальный файл кэша:
- нет в кэше -

БезопасностьЗаключение:
- без защиты -
Проверка легитимности
Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

Это в виндовс версии, в линаксе такого нет.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

В линуксе вот что пишет

URL главной страницы:
http://127.0.0.1:8080/?submit=Reload&name=Dudraug&password=1
Кодировка (использует Opera):
utf-8 (utf-8)
MIME-тип:
text/html

Один браузер, разные ос, разные mime-типы.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

>text/plain

это сервак так реагирует на оперу очевидно, пусть опера притвориться чем-то другим(если она умеет).

SV0L0CH
()

Я забыл упомянуть, что сервак самописный=) Хотя по идее не в этом должна быть проблема.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

text/plain выдаётся для вендовой оперы, в остальных случаях text/html

Дело явно в серваке, проследи какой заголовок отправляет опера и попробуй отправить такой же программными средствами. Наверняка результаты совпадут.

SV0L0CH
()
Ответ на: комментарий от Dudraug

> Я забыл упомянуть, что сервак самописный=)

И , видимо не пишет content-type:text/html ... Вот браузеры и пытаются подключить libastral. А в винде она никакая :)

Пишите заголовки!

helios ★★★★★
()
Ответ на: комментарий от Dudraug

тогда тип контента подменяет сама опера, может полазить в настройках...(я то оперой не пользуюсь)

SV0L0CH
()

Нет ли там редиректа совершенно случайно?

anonymfus ★★★★
()
Ответ на: комментарий от Dudraug

Ну и для разработки юзай фаер - он даёт глянуть заголовки, летящие с сервера.

print "Content-type: text/html\n\n";

первой строчкой если что...

У тебя анонимусы в игноре?

helios ★★★★★
()
Ответ на: комментарий от SV0L0CH

> а откуда тогда вообще тип контента взялся в полученом заголовке, если он не прописан?

значение по-умолчанию и прочая фигня... для кого-то по умолчанию летит text, для кого-то html.

Вполне разумно и для каждого подходя есть свои доводы «за».

helios ★★★★★
()
Ответ на: комментарий от helios

Значение по-умолчанию не у сервера, а у клиента.

«Умные все стали, на вас не угодишь»

helios ★★★★★
()
Ответ на: комментарий от helios

Заголовки и в Опере посмотреть легко. Вкладка «Сеть» в Dragonfly (средствах разработки Оперы, которые по Ctrl+Shift+I).

anonymfus ★★★★
()
Ответ на: комментарий от helios

>У тебя анонимусы в игноре?

Нет, никто не в игноре.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от helios

>Ну и для разработки юзай фаер - он даёт глянуть заголовки, летящие с сервера.

Глянуть заголовки можно и в опере. Dragonfly в помощь.

Tigger ★★★★★
()
Ответ на: комментарий от Dudraug

Это заголовки вёрстки. Есть ещё заголовки протокола HTTP, по которому ты собственно шлёшь вёрстку.

helios ★★★★★
()
Ответ на: комментарий от helios

В них тип передаваемой информации, куки и ещё много полезной фигни.

В твоём случае сервер должен писать «Content-type: text/html\n\n» перед тем как слать вёрстку.

helios ★★★★★
()
Ответ на: комментарий от Dudraug

Прописанный в HTML-коде content-type при открытии страницы с сервера не влияет ни на что. Его должен обработать сам сервер, клиент в него смотрит только при открытии страницы с диска.

anonymfus ★★★★
()
Ответ на: комментарий от Dudraug

>http://84.242.233.188:8080/

Глянул. С сервера вообще нричего не приходит. Пропиши в файле до выдачи контента header('Content-type: text/html') и будет тебе счастье.

Tigger ★★★★★
()
Ответ на: комментарий от Dudraug

> Походу это уже в раздел по Программированию надо, ибо сервак то самописный.

И здесь нормально: любой веб-прогер, писавший шлюзы тебе скажет что делать :)

В твоём случае сервер должен писать «Content-type: text/html\n\n» перед тем как слать вёрстку.

helios ★★★★★
()
Ответ на: комментарий от helios

Я вообще пишу сервак на яве, по сути работаю с сокетами. Поссылаю в сокет, на OutputStream Строку html так все и работает. Куда мне вставлять Content-type?

Пробовал так, до формирования html-строки и отправки ее клиенту. Но не вышло, получилась каша


string1 = new String ("Content-type: text/html\n\n");
		
		try {
			byteArray=string1.getBytes("utf-8");
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
			System.out.println("Error encoding!!!\n");
		}
		try {
			this.outp_stream.write(byteArray,0,byteArray.length);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			System.out.println("Error write to stream!!!\n");
			return;
		}

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от helios

Да, если это вывести на консоль то это будет так

Content-type: text/html

<мы тут>

А типо не надо? //n наверное тогда уж

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от helios

Ну и http работает, вроде, на 8ми битной кодировке (я имею ввиду сами заголовки).

helios ★★★★★
()
Ответ на: комментарий от Dudraug

> А типо не надо?

надо. В http заголовки от тела отделяются 2мя переводами строки.

//n наверное тогда уж


\/n таки, если нужно заэкранировать (НАМ НЕ НУЖНО)

helios ★★★★★
()
Ответ на: комментарий от Tigger

так шлюзом, наверное... жава же exec умеет?

helios ★★★★★
()
Ответ на: комментарий от Tigger

По сути, это задание в курсе «Язык программирования java», надо написать web-сервак, на яве, без всяких томкатов и прочего. Просто обычная работа с сокетами. Тут вообще никаких файлов нет, html генерируется на серваке, соединяется в строку, а потом отправляется на OutputStream сокета. В итоге браузер получает html-строку, и обрабатывает ее как html документ обычный.

Когда я добавил, то что писалось выше, даже в обычных браузерах теперь.

 
Content-type:text/html

<!doctype html><html><head><meta http-equiv="content-type" content="text/html; charset=utf-8" /> ... 

Вместо страницы

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

>Когда я добавил, то что писалось выше, даже в обычных браузерах теперь

Да, к голой строке добавлять такого не следует.

Что касается заголовков на сервере, можно попробовать вместо

string1 = new String («Content-type: text/html\n\n»);

отдать заголовок string1 = new String («HTTP/1.1 200 OK\nContent-type: text/html\n\n»); чтобы браузер понял, что это http-заголовок

Tigger ★★★★★
()
Ответ на: комментарий от Deleted

>А может не надо, а?

Есть такое слово, универ - это раз. И два, где я научусь как не на практике? Вот написал сервак, много нового узнал.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

>где я научусь

Ну как, зачитаешь все RFC сначала… :}

Deleted
()

ты доказал что опера не браузер.

Шутка.

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.