Зачем помещать декларацию типа документа XHTML в файлы HTML?Что это делает?
Все, что делает, это сообщает валидаторам разметки, что они собираются проверять документ XHTML, а не обычный HTML-документ с корнем SGML.В нем описывается содержание , или, более конкретно, следующая разметка , но не более того.
Почему люди делают это?Чего они надеются достичь?Почему бы не зарезервировать декларацию типа документа XHTML для реальных файлов XHTML?
Или я что-то упустил?
Вид.На самом деле произошло то, что люди не знали , что простое размещение декларации типа XHTML поверх HTML-документа не превращало его автоматически в документ XHTML , хотя, по общему признанию, это былото, на что все надеялись.
Видите ли, большинство веб-серверов и / или веб-приложений там не настроены на правильную сериализацию документов XHTML как application/xhtml+xml
, вместо этого они предпочитают обслуживать веб-страницы просто как text/html
,(Для серверов это, как правило, из-за расширения файла .html
больше, чем что-либо еще, на самом деле.) Это приводит к тому, что браузеры решают, что они получили обычный HTML-документ, и, таким образом, чушь разборов супа тегов мы все узнали илюбовь неизбежно наступает.
Обратите внимание, что это не имеет значения, даже если у вас есть метатег, подобный этому, в вашем документе XHTML:
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
Браузеры игнорируют это и смотрят только нафактический заголовок HTTP Content-Type
, который был отправлен вместе с документом XHTML.
Что еще хуже, Internet Explorer, являющийся наиболее часто используемым браузером в последние несколько лет в период расцвета XHTML, никогда должным образом не поддерживал application/xhtml+xml
MIME-тип перед окончательной версией 9: вместо анализа разметки, построения DOM и рендеринга страницы все, что нужно будет сделать, это запросить загрузку файла.Это не делает XHTML-страницу очень полезной!
Итак, угадайте, с чем нам всем пришлось жить, пока HTML5 не станет крутым?
Это, наряду с такими вещами, как IE6, становится странным на страницах с объявлением XML перед объявлением doctype также является одним из главных факторов, приводящих к падению XHTML (наряду с XHTML 1.1, который не получил широкого распространения, и отменой XHTML 2.0 в пользу HTML5).