Я добавляю сюда несколько ссылок, чтобы помочь вам с историей HTML, чтобы вы могли понять различные противоречия. Это не ответ на ваш вопрос, но вы узнаете больше после прочтения этих различных сборников.
[T] тот факт, что «разорванная» разметка HTML все еще работала в веб-браузерах, побудила авторов создавать испорченные страницы HTML. Много битых страниц. По некоторым оценкам, более 99% HTML-страниц в Интернете сегодня содержат по крайней мере одну ошибку. Но поскольку эти ошибки не заставляют браузеры отображать видимые сообщения об ошибках, никто их не исправляет.
W3C усмотрел в этом фундаментальную проблему с сетью и намеревался ее исправить. XML, опубликованный в 1997 году, вышел из традиции прощения клиентов и обязал все программы, использующие XML, рассматривать так называемые ошибки «правильной формы» как фатальные. Эта концепция отказа от первой ошибки стала известна как «драконовская обработка ошибок» после греческого лидера Драко , который назначил смертную казнь за относительно незначительные нарушения его законов. Когда W3C переформулировал HTML как словарь XML, они обязали все документы, обслуживаемые с новым типом application/xhtml+xml
MIME, подвергаться драконовской обработке ошибок. Если бы на вашей странице XHTML была хоть одна ошибка правильной формы […], веб-браузеры не имели бы другого выбора, кроме как прекратить обработку и отобразить сообщение об ошибке для конечного пользователя.
Эта идея не была повсеместно популярной. При предполагаемом уровне ошибок 99% на существующих страницах, постоянной возможности отображения ошибок для конечного пользователя и недостатке новых функций в XHTML 1.0 и 1.1 для обоснования стоимости, веб-авторы в основном игнорировали application/xhtml+xml
. Но это не значит, что они полностью игнорировали XHTML. О, определенно нет. Приложение C спецификации XHTML 1.0 предоставило веб-авторам всего мира лазейку: «Используйте что-то, похожее на синтаксис XHTML, но продолжайте использовать его с типом text/html
MIME». И это именно то, что сделали тысячи веб-разработчиков. : они «обновились» до синтаксиса XHTML, но продолжали обслуживать его с типом MIME text / html.
Даже сегодня миллионы веб-страниц утверждают, что они являются XHTML. Они начинаются с типа документа XHTML в первой строке, используют строчные имена тегов, используют кавычки вокруг значений атрибутов и добавляют косую черту после пустых элементов, таких как <br />
и <hr />
. Но только небольшая часть этих страниц обслуживается с типом application/xhtml+xml
MIME, который запускает драконовскую обработку ошибок XML. Любая страница, обслуживаемая MIME-типом text/html
- независимо от типа документа, синтаксиса или стиля кодирования - будет анализироваться с использованием «прощающего» HTML-анализатора, беззвучно игнорируя любые ошибки разметки и никогда не предупреждая конечных пользователей (или кого-либо еще), даже если страницы технически повреждены.
XHTML 1.0 включал эту лазейку, но XHTML 1.1 закрыл ее, и никогда не завершенный XHTML 2.0 продолжал традицию требовать обработки драконовских ошибок. И именно поэтому существуют миллиарды страниц, которые претендуют на то, чтобы быть XHTML 1.0, и только несколько, которые претендуют на то, чтобы быть XHTML 1.1 (или XHTML 2.0). Так вы действительно используете XHTML? Проверьте свой тип MIME. (На самом деле, если вы не знаете, какой тип MIME вы используете, я могу в значительной степени гарантировать, что вы все еще используете text/html
.) Если вы не используете свои страницы с типом MIME application/xhtml+xml
, ваш так называемый «XHTML» - это XML только по имени.