2009-09-03 1 views
0

Возможно, я идиот, но я не совсем понимаю, что входит в заголовок моего HTML, чтобы использовать XHTML w/HTML5. Это еще хорошо, и мы просто добавить теги HTML5 ?:Как настроить веб-сервер и документ html для корректного отображения документов HTML5?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html dir="ltr" lang="eng" xmlns="http://www.w3.org/1999/xhtml"> 

Или это <!DOCTYPE html> или что?

Тогда в A List Apart они говорят:

Если вы идете с XHTML 5, помните, что ваш сервер должен предоставить документы с MIME-тип приложения/XHTML + XML или текстовый/XML.

Пожалуйста, объясните мне, как будто я был глуп :) Что это означает в практическом смысле? «доставить документы»? Значение html? Что происходит с php? Каковы шаги, необходимые для настройки вашего веб-сервера таким образом?

+1

К слову: lang = "en", а не lang = "eng". – Ms2ger

+0

Это была огромная помощь: http://diveintohtml5.org/semantics.html – joedevon

+1

@joedevon Эта ссылка больше не работает, а вместо этого должна быть http://diveintohtml5.info/semantics.html – Chris

ответ

1

Doctype для HTML5/XHTML5 is: <!DOCTYPE html> & в XHTML 5 вам необходимо указать пространство имен <html xmlns="http://www.w3.org/1999/xhtml">.

Content type can be set in meta tag, так же, как и в любом другом HTML/XHTML документа, используя атрибут контента, как

<meta content="text/html"> 

Что касается заголовка, то оно будет рекомендовано использовать text/html для HTML5 [и любого другого HTML]: (.html, .htm) или application/xhtml+xml, application/xml для XHTML5 [or any other XHTML]: .xhtml, .xht, .xml.

Если сервер не может автоматически определить надлежащий тип содержимого и установить его, как он должен (Вы можете проверить заголовки ответов с помощью Net панели в Firebug), он может быть установлен в PHP, используя header функцию, например:

header("Content-Type: text/html"); 

Вы также можете negotiate content on Apache сервер.

Вот что WHATWG Wiki says on mime types в (X) HTL5:

сериализации XHTML должен быть подан с использованием типа MIME XML, такие как приложений/XHTML + XML или приложения/XML. В отличие от XHTML1, XHTML5 не должен использоваться как text/html.

Используя неправильный тип MIME (текст/HTML) для XHTML заставит документ, который будет обработан в соответствии с требованиями синтаксического анализа для HTML. В другими словами, он будет рассматриваться как тег суп. Обеспечение использования типа XML MIME является единственным способом обеспечить, чтобы браузеры обрабатывали документ как XML.

Для некоторых легкого чтения на тему, вы должны проверить Wikipedia entry on HTML5 для получения более подробной информации, а также WHATWG FAQ. Если вы предпочитаете тяжелое чтение, перейдите на HTML 5 last draft standard.

Наконец, теперь есть few more differences между HTML и XHTML, которые вы должны проверить.

Удачи вам!

+1

не имеет смысла. Вероятно, вы хотите обратиться к , который используется для объявления кодировки вашего документа. – Ms2ger

+1

В то время как кодировку следует указывать для того, чтобы установить кодирование документа, метаконтент находится в стандарте html5, как и во всех других стандартах html/xhtml. Он используется для определения типа mime документа. – Krule

0

Я думаю, если он еще не создан, вы можете использовать директиву AddType Апача:

http://httpd.apache.org/docs/1.3/mod/mod_mime.html#addtype:

«директива AddType отображает данные расширения имени файла на указанный тип контента.» - поэтому вы должны добавить обработчик .php, .html, .shtml и т. д. по мере необходимости.

1

Стандарт XHTML5 еще не написан, поэтому хотите, чтобы вы этого не достигли. Кроме того, HTML5 и XHTML 1.0 представляют собой разные несвязанные стандарты HTML.

Тип mime сообщает пользовательскому агенту, как обрабатывать текущий ресурс. Это отличается от объявления doctype, которое сообщает пользовательскому агенту, что такое определение текущего ресурса. Тип mime для HTML на основе SGML - text/html. SGML-формы HTML включают: HTML 4, HTML 5, XHTML 1.0 и все более ранние версии HTML. XML-формы HTML должны обрабатываться с помощью приложения/xml + html mime-type, который предназначен только для XHTML 1.1 и XHTML 5.

Самые большие различия между формой SGML и формой XML - небрежность. Форма SGML по существу является текстовым документом и обычно рассматривается как суп с тегами, где валидация часто не имеет значения, и браузеры стараются делать все возможное. В форме XML любая ошибка в любой точке кода приведет к сбою документа в пользовательском агенте и вызовут ошибку на экране, как и любой другой язык программирования. В этом случае XML-форму HTML обрабатывают как приложение, где код оценивается для обработки, противоположный простому текстовому документу символов.

Преимущество использования формы SGML в том, что полная некомпетентность и незнание технологий совершенно сносно. Если браузер обрабатывает код, тогда код достаточно хорош независимо от того, насколько он недопустим. Недостатком этого является то, что опыт ограничен тем, что браузер может визуально обрабатывать для конечного пользователя, что означает, что помощь технологиям находится в серьезном недостатке. Преимущество формы XML, особенно если оно определено с помощью схемы вместо doctype, заключается в том, что документ действует как приложение, в котором оно само по себе самосознает свою собственную структуру и каковы ее возможности. Он всегда действителен или терпит неудачу, что означает, что код всегда синтаксически однородный, что делает интеграцию вспомогательных технологий простой и практичной. Недостатком формы XML является то, что некомпетентные и ленивые авторы не могут публиковать документы, которые работают правильно. Лично я не вижу в этом недостатка, поскольку это минимальное ожидание в абсолютно любом другом отношении к любой другой форме вычислений.

+0

XHTML5 является частью HTML5 , Кроме того, «SGML-форма» - это басня, есть только «сериализация HTML». – Ms2ger

+0

Сериализация HTML - это форма SGML. XHTML5 не является частью HTML5. XHTML5 предназначен для XML-совместимой формы HTML5. Возможно, вам нужно будет узнать, что такое SGML и XML. – 2009-09-11 12:53:05

+0

@austin: HTML5 явно не SGML. XHTML5 определен в спецификации HTML5 как XML-сериализация HTML5. – Kornel

3

Чтобы правильно обслуживать документ HTML5, вам не нужно ничего необычного. Серверу по умолчанию соответствует тип контента, подходящий для HTML5. Просто начните ваши документы:

<!DOCTYPE html> 
<meta charset=UTF-8> 

(мета не является строго необходимым, но это хорошая идея, чтобы использовать его, в противном случае вы можете получить Windows 1250 кодирования или что-то хуже).

Только обслуживание X Для использования HTML5 требуется дополнительное обручи. Вы должны отправить заголовок Content-Type: application/xhtml+xml. Существует никоим образом, чтобы сделать это изнутри документа с любым типом DOCTYPE или <meta>. Это абсолютно должен быть HTTP-заголовок вне документа. Как это сделать, зависит от используемого вами сервера/языка.В PHP вы могли бы сделать:

header("Content-Type:application/xhtml+xml;charset=UTF-8"); 

Однако, вероятно, вы не хотите, чтобы сделать это, потому что IE не поддерживает XHTML5 на всех. Придерживайтесь HTML5, который имеет гораздо лучшую совместимость с устаревшими UA.

0

Я все еще пытаюсь собрать эту вещь xHTML5 через некоторое время в Google. Так использует это:

<!DOCTYPE html> 
<html lang="en"> 
<head> 

<meta charset="utf-8" ?> 

... правильно, когда используется этот заголовок:

заголовок ("Content-Type: приложение/XHTML + XML; Charset = UTF-8");

... с сервера. Или это должно быть так:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 

... для истинного XHTML5 служил типа мим 'Applicaton/XHTML + XML?

+0

Это отдельный вопрос? – SnareChops

1

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

... когда служил в качестве «приложения/XHTML + XML» с сервера, будет сказать браузеру, что он должен разобрать страницу используя xhtml, а не только html.