Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Основы web-технологий


Рассылка: Основы web-технологий :: №4
Раздел: Введение в HTML-разметку
Тема: Структура HTML-документа и элементы разметки заголовка. Часть 2.
Основные понятия: Структура документа, заголовок, head, title, meta, refresh, script, isindex, style, поисковые машины.
Информация о выпуске: В выпуске описывается типовая структура HTML-документа, а также структура и содержание его заголовка. Подробно рассматривается содержание элементов разметки и разбирается формат и назначение элементов разметки заголовка. Рассматриваются основные конструкции языка, приемы разметки и связь с другими инструментами разработки WEB-страниц.

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

Элемент разметки BASE служит для определения базового URL для гипертекстовых ссылок документа, заданных в неполной (частичной) форме. Кроме того, BASE позволяет определить мишень (окно) загрузки документа по умолчанию при выборе гипертекстовой ссылки текущего документа.

Разметка гипертекстовых ссылок обычно выполняется как разметка в частично заданных (относительных) адресах, когда URL задается относительно текущего местоположения документа.

<A HREF=../next_level/document.html>...</A>

В этом случае в качестве базы по умолчанию выбирается каталог, в котором размещен HTML-документ (./). Такой стиль разметки удобен тем, что при переносе всего дерева документов в другое место не потребуется менять систему гипертекстовых ссылок внутри документов. Кроме того, распространению этого стиля способствует и сама архитектура World Wide Web. Наиболее тесные связи между документами задаются только в рамках одного Web-узла. Связей данного узла с остальными существенно меньше, и их можно прописать непосредственно в ссылках в полной форме.

Контейнер BASE можно использовать вне документа, в заголовке или теле документа. При этом область действия базового адреса определяется от места размещения контейнера до следующего контейнера BASE.

<BASE HREF=http://intuit.ru/start/>
<HTML>
<HEAD>
  <BASE HREF=http://intuit.ru/cgi-bin/>
  ... </HEAD>
 <BODY>
  <BASE HREF=http://intuit.ru/start/>
  ... </BODY>
<HTML>

Наиболее часто BASE встречается на страницах узлов, которые имеют "зеркала". Часть документов основного сервера по разным причинам на "зеркальный" сервер не переносится. В этом случае документ с принудительно заданным базовым URL всегда будет ссылаться на основной сервер. Он оказывается "белой вороной" среди прочих документов Web-узла. При этом такая схема часто используется в совокупности с запретом на кэширование данного документа как клиентом (браузером), так и proxy-серверами.

Существуют различия и при определении базового URL по умолчанию при обращении к страницам, которые различны по своей природе. Если для обычного файла базовым адресом по умолчанию является адрес каталога, где хранится данный файл, то для страниц, которые генерируются "на лету", возможны и другие базовые адреса по умолчанию. Например, для страниц, сгенерированных CGI-скриптом, адресом по умолчанию является URL данного скрипта. Если из такой страницы снова вызвать скрипт, как частично заданную ссылку, то имя скрипта будет передано в качестве параметра скрипту, который сгенерировал данную страницу.

<A HREF=http:/intuit.ru/cgi-bin/script/intuit.ru?name=value>
...
</A>

Базовый адрес: http://intuit.ru/cgi-bin/script/intuit.ru

Если скрипт вызовет сам себя по частично заданной ссылке, то он себя не найдет.

Возможность определения мишени загрузки позволяет не указывать атрибут TARGET в теге начала контейнера A (anchor):

<A HREF=intuit.htm TARGET=left>intuit</A>

Потребность в этом возникает при организации постоянно отображаемых меню. Такое меню может быть реализовано либо во фрейме, либо в окне. При этом информационные страницы Web-узла, которые загружаются при активизации гипертекстовых ссылок, будут загружаться в другое окно или фрейм.

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

Тег начала контейнера содержит один обязательный атрибут, HREF, и может содержать один необязательный атрибут, TARGET. Синтаксис контейнера BASE в общем виде выглядит следующим образом:

<BASE HREF="http://www.intuit.ru/intro.html">
<BASE HREF=http://www.intuit.ru/intro.html TARGET=new>

Применение BASE в современных документах ограничено в силу разных причин. В сложных случаях можно пользоваться указаниями URL в полной форме.

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

Элемент разметки ISINDEX используется для указания поискового шаблона и унаследован от ранних версий HTML. В HTML 4.0 этот контейнер не определен. Утрата данного контейнера объясняется широким применением форм и CGI-скриптов. Тем не менее все браузеры его поддерживают.

Шаблон ввода ключевых слов при наличии данного контейнера в заголовке HTML-документа отображается в виде дополнительного поля ввода рабочей области браузера, что нарушает компоновку HTML-страниц, выполненных с применением современных средств разметки. Больше всего ISINDEX подходит для документов с компоновкой в стиле HTML 2.0.

<HTML>
 <HEAD>
  <ISINDEX>
 </HEAD>
 <BODY>
  ...
 </BODY>
</HTML>

Применение элемента ISINDEX

В классическом варианте при использовании ISINDEX список ключевых слов, которые вводятся в поисковом шаблоне и разделены символом "+", присоединяется к базовому адресу HTML-документа после символа "?".

http://intuit.ru/isindex.html?keyword+list

Очевидно, что сам HTML-документ не способен выполнить поиск. Это может сделать только поисковая программа.

Присоединение запроса к документу унаследовано от первого сервера CERN (Conseil Europeen pour la Recherche Nucleaire, Европейская организация по ядерным исследованиям), в котором оно использовалось по аналогии с поисковыми серверами Gopher. Современный подход, основанный на HTML-формах, позволяет указывать URL поисковой программы, что дает большую свободу при разметке страниц.

Современный синтаксис ISINDEX позволяет применить аналогичный формам подход. Для этой цели в теге начала контейнера ISINDEX можно указать атрибут ACTION.

<ISINDEX ACTION=/cgi-bin/search.cgi>

Однако и традиционная форма контейнера позволяет обращаться к внешним CGI-скриптам. Сделать это можно либо в совокупности с контейнером BASE, либо с использованием SSI.

В первом случае для всего документа устанавливается базовый URL поисковой программы. Все URL гипертекстовых ссылок на другие страницы задаются в полной форме или базовый адрес переназначается после ISINDEX. Это вполне оправдано, если данная страница ничего, кроме поискового критерия и ссылки на домашнюю страницу Web-узла, не содержит.

<HTML>
 <HEAD>
  <BASE HREF=http://intuit.ru/cgi-bin/search.cgi>
  <ISINDEX>
 </HEAD>
 <BODY>
  <BASE HREF=http://intuit.ru/>
 </BODY>
</HTML>

Во втором случае в документ встраивается обращение к CGI-скрипту, который реализует функции поисковой программы. Такое совмещение — свойство современного подхода к компоновке поисковых страниц. Как правило, и поисковый шаблон, и результаты поиска отображаются на одной странице, так как это позволяет корректировать запрос по мере получения результатов поиска. Встроенный в страницу скрипт анализирует переменные окружения сервера, и в случае отсутствия запроса может вообще никак не обнаруживать свое присутствие внутри документа.

Тег начала элемента может содержать два необязательных атрибута: ACTION и PROMPT. Синтаксис элемента ISINDEX в общем виде выглядит следующим образом:

<ISINDEX [PROMPT=текст] [ACTION=URL]>

Первый необязательный атрибут тега начала ISINDEX — PROMPT. Он позволяет вместо стандартного приглашения к вводу ключевых слов задать приглашение, которое, по мнению автора документа, лучше отражает суть поискового шаблона. Например, можно задать приглашение к вводу ключевых слов на русском языке.

Применение атрибута PROMPT

ISINDEX — отмирающий элемент разметки. Однако он определил формат обмена данными ISINDEX. Данные в этом формате передаются от браузера серверу в случае применения ISINDEX и в случае прямого указания дополнительных параметров после символа "?" в гипертекстовой ссылке.

Спасибо за внимание, встретимся через неделю.

cайт рассылки: web.aho.ru

В избранное