Почти любой HTML документ состоит из двух разделов - "головы" и "тела". С "телом" ты наверняка имел дело, а вот в "голове" обычно пусто.
Максимум, что там есть - заголовок документа, подпись программы-редактора и иногда кодировка документа. В свое время меня достало отсутствие информации
по этой теме и я зарылся в Интернет. В результате нашелся документ "RFC1945" - формальное описание протокола HTTP1.0. Кроме всего прочего, в нем нашелся раздел
с описанием полей HTTP заголовка. А МЕТА тэги позволяют манипулировать именно с ними.
- <BASE HREF="Name"> - этот тег вообще-то не META, но очень полезный, и находится тоже в разделе <HEAD>.
С помощью этого тэга можно указать место по умолчанию, где будут открываться ссылки. Очень полезная штуковина при создании меню на сайте с кадрами. Параметр этого тега - Name - имя необходимого фрейма. Фактически, у каждой ссылки в текущем документе появится параметр TARGET="Name".
- <META NAME="Generator" CONTENT="name"> - этот тэг автоматически вставляют при создании документа почти все программы для HTML верстки.
Фактически это - подпись программы с указанием ее названия, версии и еще чего-нибудь.
- <META NAME="Author" CONTENT="name"> - этот тэг говорит о том, кто является автором документа. Тэг необязательный, вставляется либо автоматически WYSYWIG редактором, либо вручную.
МЕТА теги для поисковых систем. Группа тегов, содержимое которых помогает поисковикам сортировать документы по релевантности (соответствию запросу). Также, в эту группу входят специальные тэги, введенные производителями браузеров (особенно IE).
- <META NAME="Keywords" CONTENT="bla bla bla"> - с помощью этого тэга указываются ключевые слова, по которым будет искать данный документ предполагаемый серфер. По идее, обманывать человека здесь не нужно, хотя некоторые знатные кульхацкеры вписывают в этот метатэг первую сотню самых "часто искомых" слов. SEX, CRACK, REFERAT.
- <META NAME="Description" CONTENT="bla bla bla"> - в этом тэге, опять же, по идее, нужно честно и подробно описать содержимое страницы. Однако, все махинации, проходят и тут.
- <META NAME="Url" CONTENT="absolute_url"> - этот тэг можно использовать на страницах зеркал - поисковая машина при индексации запомнит не текущий, а указанный в теге адрес страницы.
- <META NAME="Robots" CONTENT="bla bla bla"> - служебная инфа для поисковиков. В зависимости от содержимого указывает режимы индексации текущей страницы и последующих ссылок.
- CONTENT="INDEX" - разрешение на индексацию документа.
- CONTENT="FOLLOW" - разрешение на индексацию ссылок в данном документе.
- CONTENT="ALL" - заменяет собой два предыдущих варианта - разрешает все.
- CONTENT="NOINDEX" - прямой запрет на индексацию страницы поисковым сервером - иногда требуется из сображений секретности.
- CONTENT="NOFOLLOW" - указание поисковику не индексировать ссылки с данной страницы - тоже самое, чтобы лишний раз не светиться :)).
- CONTENT="NONE" - заменяет собой два предыдущих варианта - все запрещает.
- <META NAME="Document-State" CONTENT="STATIC или DYNAMIC"> - тег позволяет указать поисковому серверу или броузеру тип документа - изменяемый или статичный. В случае изменяемого типа, адрес страницы может не вноситься в букмарки или игнорироваться при индексации.
- <META NAME="Revisit-after" CONTENT="10 days"> - очень странный тэг, по-видимому, указывает, что содержимое документа склонно изменяться каждые несколько дней. Наверняка нужно для роботов-пауков, лазающих по Сети в поисках новой информации.
- <META NAME="Rating" CONTENT="General"> - последний тэг из череды непонятных. Будем считать - нечто типа классификатора документа. Используется специфическими поисковыми системами - поисковичком по конкретному сайту или по небольшой тематической группе серверов.
Следующие МЕТА тэги являются аналогами соответствующих полей HTTP заголовка файла. Когда HTML документ запрашивается броузером, сервер, на котором лежит данный текст смотрит в содержимое метатеэгов и вписывает в соответствующие поля HTTP пакетов необходимые значения. Соответственно, не все эти тэги будут работать в локальной системе (минуя вебсервер).
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> - такой тэг говорит о том, что последующий документ - текстовый, в кодировке win1251.
- <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=KOI8-R"> - соответственно такой МЕТА тэг определяет KOI8 кодировку.
Замечание на счет двух последних тэгов. Во-первых, вариантов кодировок гораздо больше. Во-вторых, в русскоязычных документах лучше принудительно кодировку не указывать - сейчас
большинство серверов используют автоопределение кодовой страницы. А если содержание МЕТА тэга будет говорить о несоответствующей кодировке, то, на пример, Нетскейп с этим несоответствием
не справится и будет показывать страницу в мифодице. А вообще то, эти МЕТА тэги могут описывать содержимое не только текстового, но и любого другого MIME типа.
- <META HTTP-EQUIV="Docdate" CONTENT="mm/dd/yy"> - дата создания документа. Этот тэг имеет смысл использовать в официальных документах, где важна конкретная дата опубликования, а не дата выкладывания файла на сервер.
- <META HTTP-EQUIV="Expires" CONTENT="Tue, 20 Aug 1996 14:25:27 GMT"> - дата истекания срока годности документа. По истечении этого срока информация считается просроченной и удаляется из кэша. Причем это касается не только броузеров, но и прокси. Если дата истечения срока годности будет раньше даты создания документа, то документ вообще не должен храниться в кэше. Собственно говоря, дата истечения срока годности говорит лишь о том, что к этому времени скорее всего, хотя и не стопроцентно, появится новая версия этого документа.
- <META HTTP-EQUIV="Refresh" CONTENT="url=URL"> - этот тэг указывает, что при обновлении документа браузеру необходимо загрузить доку с адреса URL.
- <META HTTP-EQUIV="From" CONTENT="mail=MAIL"> - электронный адрес, куда можно отослать инфу о возможных ошибках при скачивании документа. Просто контактный адрес.
- <META HTTP-EQUIV="Location" CONTENT="url=URL"> - местоположение документа. Параметр - полный адрес документа в Интернете. Этот тэг иногда используется для автоматической переадресации в нужное место.
- <META HTTP-EQUIV="Referer" CONTENT="url=URL"> - в большинстве случаев, автоматически проставляемый тэг. Является сылкой на документ, предшедствующий текущему. Посылается броузером при "открытом" веб серфинге. Может использоваться, в качестве идентификатора "своих" запросов. Ко всему прочему, посредством этого поля возможна утечка секретной информации. Например, некоторые любители командной строки после ввода скрипта с паролем: http://site.domain.com/script.pl?name=vasia&passw=word оставляют эту строку в переменной Referer. А следующий, за этим сервер автоматически получит пароль и имя пользователя в открытом виде. Правда, если только на новый адрес будет будет прямая ссылка со сгенерированной страницы.
- <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> - запрещает кэширование страницы.
- <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> - так же запрещает кэширование страницы - почему синоним и полный ли синоним предыдущему тэгу - непонятно.
Перечисленные здесь МЕТА тэги - далеко не полный список, так что если ты найдешь какую-либо информацию по этой теме - пиши письмо, обязательно добавлю и исправлю.
Продолжение темы
- RFC1945 - описание протокола HTTP1.0. Расшифровка номеров ошибок в Интернете, описание структуры HTTP заголовков. Рекомендации по защите информации. Указания на возможные уязвимости. Ссылки на другие RFC стандарты.
- Стандарт исключений для поисковых роботов. - Описание структуры и назначения служебного файла robots.txt.