Правильное отображение символов национальных алфавитов касается как Web-серверов, так и браузеров. Они должны осуществлять информационный обмен на одном языке и в одной кодировке, и только в этом случае сообщения будут доступны.
Сервер должен иметь эффективную систему предварительного оповещения о том, в какой кодировке будет прислана страница. Клиентской программе (браузеру) необходимо принять такое сообщение и, соответственно, настроиться на нужное отображение. Если все сделать правильно, то никаких трудностей не возникнет. Однако при некорректной настройке Web-сервера он сообщает об одной кодировке (например, windows-1251), а страницу пересылает в другой (например, в KOI-8). Пользуясь указаниями сервера, браузер, естественно, ошибается и отображает страницу неверно.
Как показано выше, можно задать кодировку документа не на сервере, а непосредственно в HTML-коде – с помощью метатэга со свойством Content-type. Но не все так просто. В России распространен способ, при котором сервер автоматически определяет, в какой кодировке приходит запрос от клиента, и пересылает страницу Web-браузеру уже перекодированной. Вот тут-то использование указанного метатэга и может сыграть с вами злую шутку. Дело в том, что указания на странице имеют приоритет над командами, присылаемыми Web-сервером, и, правильно перекодировав страницу, сервер не может изменить содержимое метатэга. Происходит несовпадение реальной кодировки, в которой пришел документ, и указаний в тэге META. Такую страницу нельзя будет нормально просмотреть и перекодировать средствами браузера. Выбор кодировки вручную в данном случае не поможет, так как метатэг имеет приоритет и над установками браузера. Единственный способ прочитать документ – это сохранить страницу и удалить злосчастный тэг.
Учитывая все вышесказанное, данный тэг можно вообще не применять. Тогда просмотр будет вестись в той кодировке, на которую настроен браузер, если сервер не пришлет уведомление о другой кодировке документа. В этом случае клиент сможет легко ее переключить. У подавляющего большинства ваших посетителей из России по умолчанию выставлена кодировка windows-1251, поэтому у них страница сразу же будет показана правильно.
Свойство Content-language
Язык документа, указанный в метатэге со свойством Content-language (Язык содержимого), может использоваться поисковыми машинами при индексировании страниц.
Метатэг имеет следующий формат:
<META HTTP-EQUIV="Content-language" C0NTENT="en-GB">
Язык задается комбинацией двух значений язык-диалект (при этом значение диалект может отсутствовать), в данном примере – английский-Великобритания. Язык представляет собой двухбуквенный код, зарезервированный для сокращений типа fr – французский, de – немецкий, ru – русский.
Спецификация HTML 4.0 допускает явное указание автором языка в самом документе:
<HTML LANG="en">
Подобная информация может пригодиться:
• поисковым машинам;
• синтезаторам речи;
• агентам пользователей (клиентским программам) при выборе вариантов глифов для типографской печати высокого качества;
• агенту пользователя при выборе набора кавычек;
• агенту пользователя при настройке переноса, лигатур и интервалов;
• программам проверки грамматики и орфографии.
Все коды языков, которые должны использоваться в документах на языке HTML, определены и описаны в стандарте RFC1766 (ftp://ftp.nsc.ru/pub/rfc/rfc1766.txt).
Реализовывать рассмотренную возможность следует крайне осторожно, поскольку могут возникнуть проблемы, из-за которых текст на странице станет нечитаемым.
Свойство Refresh
Свойством Refresh (Период обновления) определяется время задержки, после которой браузер автоматически обновляет документ. Метатэг часто используется для автоматической загрузки другого документа (или, как говорят, переадресации, перенаправления).
Формат метатэга таков:
<META HTTP-EQUIV="Refresh" C0NTENT="3, URL=http://www.name.ru/page.html">
C0NTENT – число, указывающее время задержки в секундах; далее следует адрес, который нужно загрузить по прошествии этого времени. Подобный способ широко используется для создания кратковременных заставок. Но, поскольку некоторые браузеры его не поддерживают, в заставке, чтобы она не «зависала», необходимо предусмотреть возможность перехода на следующую страницу. Кроме того, применение данного способа затрудняет возврат на предыдущие страницы стандартными средствами. При переадресации (то есть при значении 0) пользователь не может вернуться на предыдущую страницу с помощью кнопки Назад (Back), так как его в ту же секунду пересылают на страницу, с которой он пытается уйти.
Как известно, изменение адреса сайта влечет за собой потерю его посетителей. Поэтому обычно по старому адресу размещают информацию, которая поможет найти сайт. Но можно сделать и так, чтобы в дополнение к этому браузер сам перешел на использование нового адреса – благодаря метатэгу со свойством Refresh.
Свойство Window-target
Свойство Window-target (Окно текущей страницы) служит для определения окна текущей страницы. Его можно использовать, чтобы исключить появление новых окон во время применения фреймовых структур.
Вид метатэга может быть, например, таким:
<META HTTP-EQUIV="Window-target" C0NTENT="_top">
Свойство Content-Script-Type
Поскольку в документах HTML не предполагается использовать определенный язык сценариев, авторы должны указывать его непосредственно в каждом фрагменте кода. Это можно сделать с помощью объявления скрипта по умолчанию для всего документа или с помощью локального объявления.
Чтобы объявить скрипт по умолчанию, в текст HTML-документа необходимо включить следующий метатэг:
<META HTTP-EQUIV="Content-Script-Type" C0NTENT="type">
Здесь «type» – тип содержимого, указывающий язык скрипта. Примеры значений – "text/tcl", "text/javascript", "text/vbscript".
Свойство Content-Style-Type
Чтобы установить для документа язык таблицы стилей по умолчанию, надо использовать следующую строку:
<META HTTP-EQUIV="Content-Style-Type" C0NTENT="text/css">
Документы, в которых применен тэг STYLE, но не определен язык таблиц стилей по умолчанию, являются некорректными.
Метатэги для поисковых машин
Метатэги, которые помогают поисковым машинам индексировать сайт, делают документы для них более доступными.
Представители большинства поисковых систем уже сошлись во мнении, что применение метатэгов способствует повышению релевантности отклика при обработке запросов. Но есть и прямо противоположная точка зрения, которой придерживаются, например, эксперты российской поисковой машины Rambler.
Если ваша компания широко известна и связана с производством уникальной продукции или оказанием услуг повышенного спроса, то проблем с локализацией ваших узлов в Internet у пользователя, скорее всего, не возникнет.
Другое дело, если вы пытаетесь предоставить клиентам или читателям сервис или материал, не отличающийся оригинальностью, например, связанный с разработкой Web-страниц. В этом случае даже в первую сотню ссылок из списка отклика в глобальной поисковой системе попасть не просто. Способов повышения доступности узла из поисковых машин – и оправданных, и сомнительных с точки зрения этики – немало. Важно помнить о том, что универсальных рецептов пока не существует: слишком многое зависит от специфики работы отдельного поискового сервиса. Проблема заключается еще и в том, что фактически существует два подхода к решению рассматриваемого вопроса. Один предлагается в рекомендациях по созданию документов экспертами самой поисковой системы, другой используется разработчиками, чтобы достичь высокого рейтинга.
По-видимому, самый полезный совет заключается в следующем: анализируйте HTML-код тех документов, которые добились в интересующей вас сфере деятельности и поисковой системе наивысших рейтинговых результатов. Это относится и к метатэгам, и к остальному содержимому страниц. Естественно, такой анализ требует специальных навыков и отличается трудоемкостью, что может послужить веским доводом для обращения к профессионалу.
Оптимальный результат обеспечила бы компания-посредник, имеющая прямой контакт с разработчиками поисковых систем. Если нечто подобное и существует, информация об этом по понятным причинам вряд ли когда-либо будет предана огласке. Есть, однако, косвенные, хотя и медленно действующие приемы, которые позволяют провести анализ работы поисковых систем и доступны каждому: речь идет о тестировании. Известны примеры создания целых тестовых Web-узлов, единственная задача которых – определить, насколько чувствительна работа алгоритма отдельной поисковой машины к тому, как размещена информация на Web-страницах. Широкое распространение в Internet получила и разработка так называемых страниц-мостиков, которые оптимально нацелены на конкретную поисковую систему. Добраться с них до основной страницы узла адресатам информации позволяют гиперссылки.