Web-инжиниринг

Base


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

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

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

<a href=../next_level/document.html>...</a>

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

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

<base href=http://kuku.ru/start/>

<html>

 <head>

  <base href=http://kuku.ru/cgi-bin/>

  ...  </head>

 <body>

  <base href=http://kuku.ru/start/>



  ...  </body>

<html>

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


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

<a href=http://kuku.ru/cgi-bin/script/kuku/ru?name=value>
...
</a>

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

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

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

<a href=kuku.htm target=left>kuku</a>

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

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

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

<base href=URL [target=window_name]>

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

далее...


Содержание раздела