META - теги
META-теги (или как еще говорят,
META-определители) - служебные элементы заголовков
web-страничек. Они никаким образом не влияют на
содержимое web-странички и ее отображение в браузере (за
исключением неправильной установки кодировки). Поэтому
многие web-мастера эти теги вообще не используют, но это
не совсем правильно. Итак, для чего же нужны различные
META-теги и какую они несут информацию?
Все META-теги записываются в
заголовке web-странички, то есть между тегами
<HEAD> и </HEAD> и желательно записывать
META-теги после тегов <TITLE> и </TITLE>.
Существует 2 типа META-тегов, различающихся атрибутами и
соответственно назначением:
- <META HTTP-EQUIV="имя"
CONTENT="содержимое">
- <META NAME="имя"
CONTENT="содержимое">
Рассмотрим сначала
META-теги, использующие атрибут
HTTP-EQUIV.
META-теги с атрибутом
HTTP-EQUIV эквивалентны HTTP-заголовкам. Обычно
они управляют действиями браузеров и могут быть
использованы для совершенствования информации,
выдаваемой обычными заголовками с сервера. Теги такой
формы могут дать такой же эффект, что и HTTP-заголовки,
и на некоторых серверах автоматически могут быть
переведены в настоящие HTTP-заголовки.
HTTP-заголовки могут быть сгенерированы с
помощью CGI-скриптов. Это позволяют сделать серверы
Apache и CERN. В других серверах могут использоваться
другие механизмы генерирования заголовков. Некоторые
генерируемые сервером поля заголовков не могут быть
подменены значениями из META-тагов (в частности Date),
другие подменяются только при ненормальном статус-коде
(<>200). Когда заголовок не понятен, то значение
HTTP-заголовка превалирует над значением META-тагов.
Возможные значения атрибута HTTP-EQUIV (вместо имя):
Refresh
Значение атрибута CONTENT число,
определяющее время в секундах, после которого, браузер
автоматически произведет обновление документа (это
аналогично нажатию кнопки Reload / Обновить в браузере).
Это приведет к тому, что страница с таким meta-тегом
будет автоматически обновляться через указанное
количество секунд:
<META HTTP-EQUIV="Refresh"
Content="3">
Используя дополнительный параметр
(URL) в атрибуте CONTENT, Вы можете создать, так
называемый "редирект" или "перенаправление" пользователя
на другой адрес:
<META HTTP-EQUIV="Refresh"
Content="3; URL=http://webholm.ru">
Включение такого тега обеспечит
автоматический переход браузера на страницу
http://webholm.ru через 3 секунды. Редирект применяется
в случае, если Ваш сайт "переехал" на другой хост и
сменил адрес. Тогда на сервере со старым адресом Вы
оставляете, как правило, в файле index.htm или
index.html предупреждение о "переезде" Вашего сайта, а в
заголовке используете вышеприведенный meta-тег. Иногда,
эта конструкция находит применение, когда необходимо
через некоторое время перенаправить пользователя с
главной страницы сайта на страницу новостей.
Content-Type
Указание типа документа. Может
быть расширено указанием кодировки страницы (charset).
Если указать charset в содержании META-тега, то браузер
выведет web-страницу в кодировке, заданной в charset:
<META
HTTP-EQUIV="Content-type" CONTENT="text/html;
charset=KOI8-R">
Использовать возможность "жесткой"
установки кодировки следует крайне осторожно, поскольку,
если в META-теге задана одна кодировка, а страничка
находится в другой кодировке, бывает очень сложно
перевести такую web-страничку в читаемый вид.
А как
такое вообще может произойти? Например, Вы создаете
страничку в Блокноте, т.е. в кодировке Windows и
указываете в META-теге эту кодировку: windows-1251,
тестируете - все нормально, но на сервере, где
располагается Ваш сайт, все документы находятся в
кодировке KOI8-R и автоматически перекодируются в эту
кодировку при копировании на сервер через протокол FTP.
А в META-теге то указана кодировка Windows!
Если
же http-сервер поддерживает функцию автоматического
изменения кодировки в зависимости от настроек браузера,
то использовать данный META-тег вообще не следует, а
файлы "заливать" (копировать на сервер через FTP) в
кодировке, указанной при регистрации или в FAQ для
данного хостинга.
Expires
Определяет дату "устаревания"
страницы для протокола HTTP. Для браузера это выглядит
следующим образом: если указанная дата прошла, то
содержимое странички загружается с сервера, а данные из
кеша браузера не используются. Зачастую в данной
директиве указывают заведомо устаревшую дату, чтобы
избежать кеширования документа.
<META HTTP-EQUIV="Expires" CONTENT="Wed, 26 Feb
1997 08:21:57 GMT">
Дата со значением "0"
интерпретируется как "сейчас". Такое значение заставляет
браузер каждый раз при запросе проверять - изменялся ли
этот документ. Это, кстати относится и к прокси-агентам.
Поисковые роботы могут либо совсем не индексировать
такой документ, либо постоянно "проверять" его. Дата
должна быть задана в определенном формате, указанном в
примере выше.
Pragma
Контроль кэширования. Если Вы
хотите избежать кеширования, установите значение
"no-cache". Рекомендуется применять при выдаче
результатов работы cgi-скрипта.
Content-language
Указание языка документа. Может
использоваться поисковыми машинами при индексировании
страниц. Комбинация поля Accept-Language (посылаемого
браузером) с содержимым Content-language может быть
условием выбора сервером того или иного языка.
<META
HTTP-EQUIV="Content-language" CONTENT="en-GB">
Язык описывается парой значений
(язык-диалект). В примере: Английский-Великобритания.
Однако в спецификации HTML 4.0 имеется другая
возможность явного указания языка: <html
lang="en">
Window-target
Определяет окно для текущей
гипертекстовой страницы; может быть использован для
прекращения появления новых окон браузера при применении
фреймовых структур. Действует не для всех браузеров.
<META
HTTP-EQUIV="Window-target" CONTENT="_top">
Ext-cache
Определяет имя расширенного
(альтернативного) кэша для браузера.
<META HTTP-EQUIV="Ext-cache"
CONTENT="name=/some/path/index.db; istructions=User
Instructions">
Set-Cookie
Устанавливает cookie браузера.
<META
HTTP-EQUIV="Set-Cookie" CONTENT="NAME=value;
EXPIRES=date; DOMAIN=domain_name; PATH=path; SECURE">
PICS-Label
Platform-Independant Content
rating Scheme. Обычно используется для определения
рейтинга "взрослости" (adult) содержания (sex, violence,
...). Однако это довольно гибкая схема и может
использоваться для других целей.
Cache-Control
Определяет как будет работать
механизм кеширования в данном документы
HTML.
Возможные значения:
Public - документ кешируется в
доступных для всех кешах;
Private - документ
кешируется только в частном кеше;
no-cache -
документ не может быть кеширован;
no-store - может
быть кеширован, но не сохраняется;
Vary
Определяет доступные альтернативы
для указанных в CONTENT полей HTTP-заголовка.
<META HTTP-EQUIV="Vary"
CONTENT="Content-language">
Lotus
Lotus-редакторы генерируют свои
собственные поля Bulletin-Date и Bulletin-Text атрибуты.
Bulletin-Text содержит описание документа.
Подводя итоги первой части,
заметим, что мы, безусловно, привели несколько
избыточную информацию, а в качестве значений атрибута
HTTP-EQUIV на начальных этапах Вы будете использовать
первые 2-3 значения. Остальные значения приведены для
общего знакомства, их запоминать не нужно, но, возможно,
в дальнейшем у Вас возникнет необходимость их
использовать.