DTD
только для того, чтобы сообщить браузеру (и валидатору), какой тип HTML вы используете и как ваши теги считаются «действительными».
В DTD используется краткий формальный синтаксис, который точно определяет, какие элементы и ссылки могут отображаться в документе определенного типа, а также каково содержимое и атрибуты элементов.
A DOCTYPE
сообщает браузеру, какой режим использовать: режим строгого или необычного режима, который определяет, как браузер должен макетировать страницу.
Механизмы HTML-разметки в современных веб-браузерах выполняют DOCTYPE «сниффинг» или «переключение», при этом DOCTYPE в документе, который используется как text / html, определяет режим макета, такой как «режим причуд» или «режим стандартов».
HTML5 имеет тип документа <!DOCTYPE html>
- и DOCTYPE без DTD .
не путайте их, это разные вещи.
Насколько я знаю, выигрыша в производительности нет. Однако использование DOCTYPE
делает макет страницы в браузере совместимым со стандартами (и более согласованным, но не полностью) способом для всех браузеров. Это скорее преимущество "handsomeness", чем скорость.
Поскольку веб-браузеры реализованы с помощью HTML-анализаторов специального назначения, а не анализаторов DTD общего назначения, они не используют DTD и никогда не получат к ним доступ, даже если указан URL-адрес. DOCTYPE сохраняется в HTML5 как «в основном бесполезный, но обязательный» заголовок только для запуска «стандартного режима» в обычных браузерах.