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 в полной форме.
далее...