Нужна ли каждая HTML -страница с Doctype правильно подключение к рендерингу?

StackOverflow https://stackoverflow.com/questions/1986819

  •  22-09-2019
  •  | 
  •  

Вопрос

Многие документы используют ссылку на URL

как это

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

И этот файл DTD находится на Live URL http://www.w3.org/tr/html4/strict.dtd

Каково использование этого онлайн -живого DTD и как любая страница (которая использует этот Doctype) будет правильно отображаться в соответствии с этим Doctype без доступа к этому URL (я имею в виду, если доступ к Интернету недоступен?)

Обновить : Я нашел эту информацию из Википедии http://en.wikipedia.org/wiki/system_identifier

В HTML и XML системный идентификатор - это ссылка на URI без фрагментов. Обычно это происходит в объявлении типа документа. В этом контексте он предназначен для определения типа документа, который используется исключительно в одном приложении, тогда как публичный идентификатор предназначен для идентификации типа документа, который может охватывать более одного приложения.

В следующем примере идентификатор системы - это текст, содержащийся в кавычках:

Обновление 2: Это использование только для валидаторов? Как какое -то программное обеспечение, такое как DreamWeaver, обеспечивает автономную проверку?

Обновление 3: Я нашел эту информацию с сайта W3C http://www.w3.org/qa/tips/doctype

Зачем указывать документ? Потому что он определяет, какую версию (x) html ваш документ фактически использует (Версия для какого браузера или валидатора?), и это критическая информация, необходимая для некоторых инструментов (Какие инструменты? Любые другие инструменты, потом валидатор?) Обработка документа.

Например, указание Doctype вашего документа позволяет использовать такие инструменты, как валидатор разметки, чтобы проверить синтаксис вашего (x) HTML. Такие инструменты не смогут работать, если они не знают, какой документ вы используете.

Но самое главное, что с большинством семей браузеров декларация Doctype сделает много догадков ненужным и, таким образом, вызовет «стандартный» режим рендеринга.

Это было полезно?

Решение

Нет, ни один браузеры фактически не приносят или проверяют против Doctype. Видеть DTD не работают в Интернете Для хорошего аргумента в пользу того, почему извлечение и проверка DTDS - плохая идея.

Доктип, теоретически, чтобы сказать, какую версию стандарта использует документ. Браузеры обычно не используют эту информацию, кроме как переключаться между причудами и режимом стандартов. Анкет Все современные браузеры принимают самый простой возможный Doctype, без URL или информации о версии, <!DOCTYPE html>, для этой цели; из-за этого, HTML5 принял это как рекомендуемый Doctype.

Валидаторы иногда используют эту информацию, чтобы рассказать, против чего DTD для проверки, но DTDS, встроенные в документ, на самом деле не очень хороший способ определения информации о проверке. Проблема с подтверждением DTD, упомянутого в документе, состоит в том, что потребитель этого документа на самом деле не очень заботится о том, является ли документ самосогласован, но следует ли он схемой, что потребитель знает, как надежно интерпретировать. Вместо этого, как правило, лучше подтвердить внешнюю схему, на более мощном языке схемы, как Расслабьтесь.

Когда валидаторы используют эту информацию, они часто используют URI в качестве идентификатор Только не как локатор. Анкет Это означает, что валидатор уже знает обо всех общих HTML Doctypes и использует эти знания для проверки, а не загрузка с упомянутого URI. Отчасти это во избежание проблемы необходимости загружать DTD каждый раз, а также потому, что DTD фактически не указывает достаточно информации, чтобы предоставить очень хорошую проверку и сообщения об ошибках, поэтому некоторые части валидатора могут быть указаны в пользовательском коде. или более мощный язык схемы. Для получения дополнительной информации см. Тезис Анри Сивонена При его реализации varidator.nu HTML5 Проверка соответствия.

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

Другие советы

URI существует для уникального идентификации типа документа - он не предназначен для поиска, и ни один браузер (или другой кусок программного обеспечения) должен полагаться на документ, существующий на этом веб -адресе.

Я сам задавался вопросом об этом сам. Но если у вас есть собственный HTTP -сервер, довольно легко доказать, что это не имеет значения. Просто держите кабель во внешний мир и посмотрите, сможете ли вы все еще открыть страницы на своем сервере.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top