Согласно схеме http нотации URI
Установка базового адреса
Согласно схеме http нотации URI (Uniform Resource Identifier) полный адрес информационного ресурса, доступного по протоколу HTTP следует записывать следующим образом:
http://user:password@domain.ru:port/path/some.html?query_string
где:
http:
протокол обмена данными
user:
идентификатор пользователя
password:
пароль
domain.ru
доменное имя сервера
port
номер TCP-порта, н котором ведет обслужтвание сервер
path
путь в корневом каталоге сервера к файлу ресурса
some.html
файл ресурса
query_string
поисковое предписание
Заданный в таком виде адрес ресурса называется абсолютным или полным адресом ресурса. На практике редко используют все компоненты полного адреса схемы HTTP. Чаще всего первые компоненты опускают. Например, обращение к документу в том же каталоге в гипертекстовой ссылке будет просто записано как имя данного файла. Или обращение к CGI-скрипту может выглядеть следующим образом:
<a href=../scripts/my_script?query_string>
Имя протокола, имя домена, номер порта и другие компонеты начала URL опущены. В этом случае говорят, что ссылка задана частично-определенной или неполной формой URL.
Естественно, что браузер при обращении к серверу будет восстанавливать полную форму URL, опираясь на некоторую схему умолчания, которая называется базовым URL. Иногда неполную форму URL называют относительным URL, подразумевая, что адрес задается относительно некоторого базового адреса.
По умолчанию в качестве базового используется URL каталога, в котором находится текущий документ. Если URL начинается с символа "." или "..", то это означает исчисление от текущего каталога. Если URL начинается с символа "/", то относительны URL берется от корня каталогов сервера.
В HTML есть элемент разметки BASE, который позволяет задать или переопределить базовый адрес. Первоначально этот контейнер использовался только в заголвке HTML-документа. В настоящее время его применяют как за пределами всего документа(например, при создании документов HTML-редакторами), так и в теле документа.
Последнее позволяет сгруппировать гипертекстовые ссылки внутри документа относительно разных базовых адресов:
<html>
<head>
<base href=http://www.kiae.ru>
</head>
<body>
Эта гипертекстовая ссылка на <a href=index.htm>www.kiae.ru</a>
<base href=http://citmgu.ru>
Эта гипертекстовая ссылка на <a href=index.htm>www.citmgu.ru</a>
</body>
</html>
При загрузке представленного выше документа в браузер легко убедиться, что заданные в неполной форме ссылки будут указывать на разные Web-узлы. Для этого достаточно обратить внимание на значения, отображаемые в поле статуса браузера, или распечатать массив гипертекстовых сcылок JavaScript-программой.
далее...