Web-инжиниринг

Meta


Элемент разметки META   

Это наиболее популярный элемент разметки заголовка. По частоте встречаемости он уступает только элементу TITLE. Такое положение дел объясняется назначением данного элемента разметки. META содержит управляющую информацию, которую браузер использует для правильного отображения и обработки содержания тела документа.

Исторически первым полезным использованием контейнера META стала принудительная перезагрузка документа браузером через заголовок HTTP-сообщения. В заголовке HTTP-сообщения можно указать оператор Refresh. Время, заданное как параметр этого оператора, определяет интервал в секундах, после которого браузер загружает документ, определенный атрибутом url данного оператора. Впервые этот механизм был реализован на сервере CERN, но наибольшую популярность приобрел при использовании сервера WN.

В контейнере META этот механизм реализуется следующим образом:

<meta http-equiv="Refresh"
content="1; url=refresh.htm">

Открыть окно примера с Refresh

В данном случае, через одну секунду после загрузки документа браузер должен инициировать загрузку страницы refresh.htm.

Используя этот механизм, можно построить автоматически перезагружаемую последовательность страниц. Для этого в заголовке каждой страницы из этой последовательности следует разместить соответствующий контейнер META.

<meta http-equiv="Refresh"
content="1; url=refreshX.htm">

Заглавная буква "Х" в слове "refreshX.htm" - это цифра номера кадра. На странице нулевого кадра в этом месте следует указать на первый кадр (refresh1.htm), на странице первого кадра - на второй (refresh2.htm) и т.д..

Появление Windows95 и Windows NT 4.0 c их поддержкой таблиц UNICODE сделало возможным указание типа кодировки документа - charset. К сожалению, на многих Unix-платформах этот механизм не работает, и часто приводит вообще к ошибкам, например в IRIX версий 6.2-6.4.


Снобистское отношение поклонников Unix к этой возможности ничем не оправдано, т.к. основная масса пользователей российской части Internet использует Windows для просмотра документов World Wide Web. Для перекодировки на стороне клиента (документ подготовлен в cp1251) в заголовок документа необходимо включить META-таг следующего вида:



<meta http-equiv="Content-type" content="text/html; charset=windows-1251">

Приведенный выше пример - это типичное использование операторов заголовка HTTP-сообщения. Однако, здесь тоже следует быть осторожным. Большинство российских Web-узлов используют в качестве HTTP-сервера Russian Apache. Эта модификация сервера поддерживает перекодировку "на лету" документов для правильного отображения на стороне клиента. Russian Apache сам вставляет в HTTP-заголовок (не путать с HEAD) директиву Content-type. Если в документе будет META элемент c указанием типа кодировки, а Apache перекодировал содержание, то возможно несоответствие между указанным в META типом кодировки и реальной кодировкой содержания документа.

Кроме Content-type можно указать и другие операторы. Например, запретить кэширование документа. Необходимость в этом возникает при частом обновлении документа или при наличии в нем SSI-вставок с коротким временем жизни. Для запрета кэширования достаточно вставить в заголовок META-таг вида:

<meta http-equiv="Pragma" content="no-cache">

Pragma - это наследие HTTP 1.0. В новой версии протокола HTTP (HTTP 1.1) управление кэшированием осуществляется через оператор Cache-Control. Для получения такого же эффекта, как и в случае с Pragma, в заголовке HTML-документа достаточно указать:

<meta http-equiv="Cache-Control" content="no-cache">

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

<meta http-equiv="Cache-Control" content="no-store">



Аналогично кэшированию можно задать время последней модификации(Last-Modified) или дату истечения актуальности документа(Expire). Более подробно об операторах заголовка HTTP-сообщения рассматривается в теме "Управление HTTP-обменом".

С появлением роботов поисковых машин на META-таг была возложена еще одна функция - описание поискового образа документа. Наиболее последовательно это было впервые реализовано в Webcrawler. До этого в качестве поискового образа документа использовался либо весь список слов документа, либо слова первого абзаца.

Собственно для описания документа используется два META-тага. Один определяет список ключевых слов, а второй - реферат( краткое содержание документа), который отображается в качестве пояснения к ссылке на документ в отчете поисковой машине о выполненом запросе. Контейнер TITLE здесь также используется в качестве названия документа.

<title>Web-инжиниринг.META-tag</title>

<meta name="description" http-equiv="description"

content="Учебный цикл WEB-инжиниринг. Тема: Заголовок HTML-Документа. Элемент разметки META. Дается краткое описание основных способов применения контейнера META в заголовке HTML-докумета. Рассматривается управление HTTP-обменом и индексирование документов.">

<meta name="keywords" http-equiv="keywords"

content="учебный курс; web-технология; web; технология; HTML; язык гипертекстовой разметки; заголовок HTML-документа; заголовок; HTML; документ; контейнер; META; элемент; HEAD; пример; разметка; методика">

При индексировании такого документа содержание контейнера TITLE и атрибутов content контейнеров META после фильтрации попадет в индекс поисковой машины и может быть использовано для составления запросов. Процесс фильтрации отбракует так называемые stop-слова и общие слова. Они не попадут в индекс поисковой машины. Например, будут отбракованы предлоги или, если речь идет о тематическом поисковом индексе, например, по технологиям World Wide Web, то в него не попадут: web, web-технология и т.п..

Мета-тагом пользуются и программы подготовки документов. Они размещают в нем свой идентификатор. В общем случае контейнер META выглядит следующим образом:

<meta [name=имя] [http-equiv=имя_HTTP-оператора] content=текст>

Практика показывает, что при индексировании можно указывать одновременно и атрибут name и атрибут http-equiv с одинаковыми значениями. Это связано с тем, что одни роботы индексирования анализируют содержание META-элемента по атрибуту name, а другие по атрибуту http-equiv.

далее...


Содержание раздела