Использование метаданных (HTTP-EQUIV, NAME, REL, REV, BASE) при создании HTML документов

ОГЛАВЛЕНИЕ

Описание и формат мета-тегов HTML. Использование метаданных (HTTP-EQUIV, NAME, REL, REV, BASE) при создании HTML документов.

META-теги имеют два возможных атрибута

- <META HTTP-EQUIV="имя" CONTENT="содержимое">
- <META NAME="имя" CONTENT="содержимое">

META-теги должны находиться в заголовке HTML-документа между <HEAD> и </HEAD> (особенно это важно для документов, использующих фреймы).

 Атрибут HTTP-EQUIV

META-теги с атрибутом HTTP-EQUIV эквивалентны HTTP-заголовкам. Обычно они управляют действиями броузеров и могут быть использованы для совершенствования информации, выдаваемой обычными заголовками. Тэги такой формы могут дать такой же эффект, что и HTTP-заголовки, и на некоторых серверах автоматически могут быть переведены в настоящие HTTP-заголовки. HTTP-заголовки описываются в RFC1945 (HTTP/1.0) и RFC2068 (HTTP/1.1).

HTTP-заголовки могут быть сгенерированы с помощью CGI-скриптов. Это позволяют сделать серверы Apache и CERN. В других серверах могут использоваться другие механизмы генерирования заголовков. Некоторые генерируемые сервером поля заголовков не могут быть подменены значениями из META-тегов (в частности Date), другие подменяются только при ненормальном статус-коде (<>200). Когда заголовок не понятен, то значение HTTP-заголовка превалирует над значением META-тегов.

Expires

 

Источники: HTTP/1.1 (RFC2068)

Дата устаревания. Управление кэшированием в HTTP/1.0. В Netscape Navigator это выглядит следующим образом: если указанная дата прошла, то очередной запрос этого html-документа вызывает повторный сетевой запрос, а не подгрузку html-документа из кэша. Дата со значением "0" интерпретируется как "сейчас". Такое значение заставляет броузер каждый раз при запросе проверять - изменялся ли этот html-документ. Это, кстати относится и к прокси-агентам. Поисковые роботы могут либо совсем не индексировать такой документ, либо постоянно "обнюхивать" его.

Дата должна быть задана в формате, описываемом в RFC850,

<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

что эквивалентно HTTP-заголовку

Expires: Wed, 26 Feb 1997 08:21:57 GMT

Pragma

Контроль кэширования для HTTP/1.0. Значением должно быть "no-cache". Очень полезный контейнер, я всегда использую его при выдаче результатов работы любого скрипта.

Content-Type

Источники: HTTP/1.0 (RFC1045)

Указание типа html-документа. Может быть расширено указанием кодировки страницы (charset). Если же указывать charset в содержании META-тега, то Netscape Navigator выводит такую html-страницу уже в заданном charset. Однако будьте аккуратны, если текст страницы в кодировке Windows, а значение charset=KOI8-r, то никакими силами пользователь не сможет поменять encoding, чтобы увидеть нормальные слова!

<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-2022-JP">

Content-language

Источники: HTTP/1.0

Указание языка документа. Может использоваться поисковыми машинами при индексировании html-страниц. Комбинация поля Accept-Language (посылаемого броузером) с содержимым Content-language может быть условием выбора сервером того или иного языка.

<META HTTP-EQUIV="Content-language" CONTENT="en-GB">

что эквивалентно HTTP-заголовку

В недавно вышедшей спецификации HTML 4.0 появилась другая возможность явного указания языка - <html lang="en">

Content-language: en-GB

Язык описывается парой значений (язык-диалект). В примере: Английский-Великобритания

Refresh

Источники: Netscape

Определение задержки в секундах, после которой броузер автоматически обновляет html-документ. Дополнительная возможность - автоматическая загрузка другого документа.

<META HTTP-EQUIV="Refresh" Content="3, URL=http://www.name.com/page.html">

что эквивалентно HTTP-заголовку

Refresh: 3; URL=http://www.name.com/page.html

В Netscape Navigator это дает такой же эффект, что и нажатие на кнопку Reload.

Window-target

Источники: Jahn Rentmeister

Определяет окно текущей страницы; может быть использован для прекращения появления новых окон броузера при применении фреймовых структур. Действует для многих (но не для всех) броузеров.

<META HTTP-EQUIV="Window-target" CONTENT="_top">

что эквивалентно HTTP-заголовку

Window-target: _top

Ext-cache

Источники: Netscape

Определяет имя альтернативного кэша для Netscape Navigator

<META HTTP-EQUIV="Ext-cache" CONTENT="name=/some/path/index.db; istructions=User Instructions">

PICS-Label

Platform-Independant Content rating Scheme. Обычно используется для определения рейтинга "взрослости" (adult) содержания (sex,violence, ...):-)) однако это довольно гибкая схема и может использоваться для других целей.

Cache-Control

Источники: HTTP/1.1

Определяет действия кэша по отношению к данному html-документу. Возможные значения:

  • Public - документ кэшируется в доступных для всех кэшах
  • Private - только в частном кэше
  • no-cache - не может быть кэширован
  • no-store - может быть кэширован, но не сохраняется

Vary

Источники: HTTP/1.1

Определяет доступные альтернативы для указанных в CONTENT полей HTTP-заголовка.

<META HTTP-EQUIV="Vary" CONTENT="Content-language">

что эквивалентно HTTP-заголовку

Vary: Content-language

Lotus

Lotus-редакторы генерируют свои собственные поля Bulletin-Date и Bulletin-Text атрибуты. Bulletin-Text содержит описание документа