DOCTYPE и раздел документа HEAD
В лекции рассматривается разметка внутри элемента head, рассказывается о различных частях этого раздела и их предназначении. Также описаны функции объекта DOCTYPE и порядок выбора DOCTYPE для HTML-документа.
Объявление DOCTYPE
Согласно Спецификации HTML 4.01, директива DOCTYPE предназначена для объявления типа документа - так называемого DTD (Document Type Definition, определение типа документа). DTD представляет собой формальную конструкцию, в которой выражена вся специфика HTML как одного из приложений языка SGML. Определение типа документа представляет собой перечень различных конструкций SGML, которые определяют, например, какие элементы в каком порядке могут встречаться внутри каждого из элементов; полный список допустимых элементов с указанием на обязательность для каждого из них начального и конечного тегов; полный список атрибутов для каждого элемента и значениями по умолчанию и другие правила синтаксиса.
Объявление DOCTYPE выглядит следующим образом:
Наиболее важной частью DOCTYPE являются две строки, взятые в кавычки. Первая строка "-//W3C//DTD HTML 4.01//EN" утверждает, что данный документ является документом DTD, использует английский язык текста для описания объекта, описывает HTML версии 4.01 и опубликован организацией W3C. Вторая строка 'http У/www. w3.org/TR/html4/strict.dtd" указывает на размещение самого документа DTD, используемого для этого DOCTYPE.
Режимы представления
Все современные браузеры ориентируются на DOCTYPE (или его отсутствие) в начале страницы, выбирая режим отображения для HTML-документов. В Internet Explorer версии 8 режим определяется также и другими факторами, например, HTTP-заголовком, периодически получаемыми от Microsoft данными, пользовательскими настройками и др. Но по умолчанию даже в Internet Explorer 8 режим зависит от DOCTYPE.
Основными режимами современных браузеров являются режим обратной совместимости, стандартный режим и почти стандартный режим. Приведем некоторые характеристики названных режимов.
При режиме обратной совместимости (Quirks Mode) в браузерах нарушаются рекомендации W3C для обеспечения нормального отображения страниц. Если в коде HTML-документа используется неполный или устаревший вид DOCTYPE или DOCTYPE вообще отсутствует, то браузер перейдет в данный режим и будет исходить из предположения, что код страницы написан с ошибками, не соответствует принятым стандартам или документ написан для "старых" браузеров. В этом режиме браузер пытается разобрать страницу по правилам обратной совместимости и выводит ее на экран так, как вывел бы ее браузер более ранней версии. Для разных браузеров существуют различные варианты совместимости с предыдущими версиями. Так, Internet Explorer версий 6, 7 и 8 в режиме обратной совместимости фактически воспроизводят установки, типичные для Internet Explorer 5. У других браузеров режим обратной совместимости представляет собой набор отклонений от почти стандартного режима. К сожалению, режим обратной совместимости лидирует с большим отрывом. Статистика использования типов DID от 10 апреля 2008 г., опубликованная на сайте Qindex.info (ссылка: www.qindex.info/Q_get.php? g_clss=forum&g_prcss=thrd&g_tmp]t=&g_brd=5&g_thrd= 128 http7/www.qindex.info/Q_get.php?
g_chs=forum&g_prcss=thrd&g_trnplt=&g_brd=5&g_thrd=128) показывает, что более 50% сайтов работают в режиме обратной совместимости.
В стандартном режиме (Standards Mode) браузеры пытаются обращаться с правильно составленными документами в полном соответствии со спецификацией CSS, настолько, насколько конкретный браузер поддерживает стандарты. Поскольку уровень поддержки стандартов
Л.В. Кузнецова Лекции по современным веб-технологиям
разными браузерами различен, то даже стандартный режим пока не может гарантировать полностью одинакового отображения и поведения страниц.
Некоторые браузеры, такие как Firefox, Safari, Opera (начиная с 7.5) и Internet Explorer 8 поддерживают и третий режим - почти стандартный (Almost Standards Mode), который не достаточно строго следует рекомендациям W3C. Internet Explorer 6 и 7 для Windows, Opera ниже версии 7.5 и некоторые другие браузеры не нуждаются в таком режиме, поскольку даже в своих стандартных режимах не соблюдают все спецификации CSS.
Internet Explorer 8 также поддерживает режим, в основном воспроизводящий стандартный режим Internet Explorer 7. У других браузеров подобных режимов нет.
Выбор DOCTYPE
Спецификация допускает использование трех различных версий DID, которые отличаются друг от друга поддержкой различных элементов и атрибутов. Опубликованный W3C список DID, рекомендованных для использования в веб-документах, представлен на официальном сайте Консорциума (ссылка: httpy/www.w3.org/QA/2002/04/valid-dtd-list.html -http У/www. w3. org/Q А/2002/04/valid- dtd-list.html).
Любое из перечисленных ниже объявлений DOCTYPE гарантированно включает браузеры в стандартный режим.
Объявление строгого DID:
"http У/www. w3. org/TR/htm!4/strict.dtd">
Строгое DTD (строгий синтаксис) не допускает использования в документе различных не рекомендуемых элементов и атрибутов, большинство из которых предназначаются не для логической разметки, а для визуального форматирования. Данный DOCTYPE гарантирует, что при работе с данным HTML документом браузер будет использовать
Л.В. Кузнецова Лекции по современным веб-технологиям
свой стандартный режим. Наиболее заметный эффект состоит в том, что буцуг получены более согласованные результаты при оформлении документа с помощью CSS.
Объявление переходного DTD:
Переходное DTD (переходный синтаксис) включает в себя все элементы и атрибуты строгого DTD в совокупности с не рекомендуемыми элементами и атрибутами.
Объявление DTD 'Набор фреймов":
"httpy/www.w3.org/TR/htmJ4/frameset.dtd">
Объявление DTD 'Набор фреймов" аналогично переходному синтаксису, но содержит также элементы для создания фреймов.
Раздел документа HEAD
Раздел документа HEAD определяет его заголовок и не является обязательным элементом, однако правильно составленный заголовок может быть очень полезен. Элементы, находящиеся в разделе HEAD , определяют большую часть инструкций для браузера, а также дополнительную информацию о HTML-документе. Содержимое элемента HEAD не отображается напрямую на веб-странице, за исключением элемента TITLE, устанавливающего заголовок вебстраницы. Раздел HEAD может содержать в себе следующие элементы: TITLE, МЕТА, BASE, LINK, STYLE, SCRIPT и OBJECT. В лекции мы дадим лишь основные подходы к работе с перечисленными элементами. Более подробно ознакомиться с ними можно в Спецификации HTML.
Элемент TITLE
Одним из наиболее важных элементов заголовка является элемент TITLE, который задает название HTML-документа. Этот элемент разметки не является обязательным, однако его использование настоятельно рекомендуется. Текст, содержащийся в TITLE, выводится почти всеми браузерами в панели заголовка браузера, а также отображается в виде ссылки на странице результатов поиска в поисковых системах, нажав на которую, пользователи переходят из поисковой системы на страницу сайта.
Оптимальная длина содержимого элемента не должна превышать 80 символов, т.к. более длинный текст заголовка уждит за видимую область окна браузера, а также может быть воспринят поисковой машиной как спам.
' http У/www. w3. org/TFUhtml4/strict. dtd">
<ТПЪЕ>Пример использования элемента TTLE
<Р>Обратите внимание на панель заголовков !Р>
Результат выполнения данного кода представлен на рисунке 5.1. Текст из элемента TITLE выведен в панели заголовка выше средств навигации браузера.

Рис. 5.1. Пример использования элемента TITLE
Элемент МЕТА
Элемент МЕТА содержит метаописатели некоторых свойств документа, которые предназначены для браузеров и поисковых систем. Эти свойства могут идентифицировать авторство HTML-документа, его адрес, периодичность обновления и т.п. Поисковые системы используют данные свойства для индексации и формирования заголовков HTML-документов, они могут влиять на режим отображения HTML-документов, хотя сами на экран не выводятся. Этот элемент, вместе с элементом TITLE является наиболее используемым при задании заголовка.
Количество доступных свойств приближается к нескольким десяткам, но все они делятся на две группы: NAME и HTTP-EQUIV. Элементы группы NAME содержат текстовую информацию о документе, его авторе и некоторые рекомендации для поисковых машин (например, Robots, Description, Keywords, Author, Copyright и др.). Элементы группы HTTP-EQUIV влияют на формирование HTML-заголовка и определяют режим его обработки (Content-Language, Content-Type, Refresh и др.).
Л.В. Кузнецова Лекции по современным веб-технологиям
Следует отметить, что Спецификация HTML 4.01 не содержит стандартного списка этих свойств, поэтому авторы пока свободны в их определении. Мы рассмотрим лишь несколько свойств.
Каждый элемент МЕТА содержит в себе пару атрибутов: для указания названия свойства используются атрибуты name или http-equiv (в зависимости от используемого свойства), а значение этого свойства устанавливается атрибутом content. Например, следующий метаописатель задает имя автора документа:
<МЕТА name="Author" content="Bazil Snowman">
Дополнительно он может содержать атрибут lang, указывающий язык, на котором написано значение свойства:
Наибольший интерес из группы свойств NAME представляют свойства Description и Keywords. Эти свойства, наряду с элементом TITLE, широко используются для оптимизации и продвижения сайтов.
Свойство Description предназначено для краткого описания вебстраницы, которое используется поисковыми машинами для индексации и в качестве краткой аннотации, сопровождающей ссылку, в ответе на запрос поисковыми системами. По содержанию этого свойства пользователь поисковой системы будет оценивать, соответствует сайт его ожиданиям или нет. Если свойство Description отсутствует, то в качестве описания поисковые системы используют первую строку текста или отрывок из текста с найденным ключевым словом. Поисковые системы устанавливают разные нормы по ограничению длины описания и в зависимости от этого воспринимают только заданное количество символов. Однако оптимальная длина описания не должна превышать 150 символов.
Свойство Keywords позволяет определить ключевые слова вебстраницы. При формировании списка ключевых слов необходимо использовать слова, содержащиеся в тексте документа. Не стоит включать в Keywords служебные слова, записывать слова во множественном числе или повторять их несколько раз. Очередность
Л.В. Кузнецова Лекции по современным веб-технологиям
ключевых слов составляется по степени важности в порядке убывания. Оптимальная длина последовательности ключевых слов не должна превышать 250 символов.
<МЕТА name="Description" соп1еп1="Интернет-магазин Всякая всячина -<МЕ1А name="Keywords" content= "Интернет-магазин, игрушки, книги, л
музыка, диски, видео, DVD, двд, кино, софт, программы, игры,
ПО, игрушки, books, video, music, software, toys">
Среди свойств группы HTTP-EQUIV наиболее важными являются свойства Content-Type, Content-Style-Type и Content-Script-Type.
Свойство Content-Type отвечает за указание типа документа и кодировки символов. Данный метаописатель устанавливает в качестве кодировки HTML-страницы Кириллицу (Windows):
<МЕТА http-equiv= "Content- Type" content-text/html;
charset-windows-1251">
Свойство Content-Style-Type служит для указания языка таблицы стилей. Если язык таблиц стилей не задан, по умолчанию используется язык text/css. Приведенная ниже запись явно задает в качестве языка таблицы стилей CSS:
<МЕТА http-equiv="Content-Style-Type" content="text/css ">
Свойство Content-Script-Type определяет язык программирования сценариев. Возможны несколько значений данного параметра, однако по умолчанию используется JavaScript. Язык программирования сценариев JavaScript можно задать с помощью следующего метаописателя:
<МЕТА http-equiv="Content-Script-Type"
content^' text/javascript">
Метаописатели могут также содержать атрибут scheme, задающий формат значения свойства и предусмотренный для использования совместно со словарями метаданных. В настоящее время этот атрибут не поддерживается обозревателями.
Л.В. Кузнецова
Элемент BASE
Элемент BASE используется для явного задания полного URL-адреса документа. Это бывает полезно ввиду того, что общепринятым стилем задания гипертекстовых ссылок является их относительная адресация. То есть при задании ссылки на документ указывается не полный его URL-адрес, а его месторасположение относительно текущего адреса. Элемент BASE как раз и задает адрес, относительно которого и будут браться относительные ссылки.
Использование элемента BASE позволяет поддерживать относительные ссылки в том случае, когда HTML-документ перемещен, а все остальные документы, на которые он ссылается, остались на прежнем месте. Адрес документа поменялся, однако при активизации относительной ссылки, она будет взята браузером относительно исходного адреса, прописанного в элементе BASE.
Основным атрибутом элемента является href, который задает полный URL-адрес документа. Пример иллюстрирует применение элемента BASE и относительных ссылок:
"http У/www. w3. org/TR/html4/strict.dtd">
<ТИЕЕ>Пример использования элемента BASE
...текст документа...
OTHOCHTettbi-^i ссылка на изображение* ...текст документа...