Абсолютные и относительные интернет-адреса

А поговорим мы об интернет-адресах. Точнее, о разных способах задания интернет-адресов.

Снова откройте главную страницу сайта default.htm. Поместите текстовый курсор на слово "Macromedia" в первом абзаце (если помните, это гиперссылка, указывающая на сайт фирмы). В поле ввода Link редактора свойств вы увидите следующее:

http://www.macromedia.com

Это Web-адрес сайта Macromedia. Теперь давайте рассмотрим еще один интернет-адрес, на этот раз воображаемый:

http://www.somesite.ru/folderl/folder2/page.html

Этот адрес указывает на файл page.html, находящийся на сервере http://www.somesite.ru в папке /folderl/folder2. Как видите, все основные части интернет-адреса здесь присутствуют. В результате адрес указывает прямо на нужный файл. Такой интернет-адрес называется абсолютным.

Теперь переместим текстовый курсор на первую строку списка ("о моих увлечениях"). В поле ввода Link мы увидим следующее:

HTMLs/Passions.htm.

Этот адрес также указывает на нужный файл, но не непосредственно, а относительно какого-то другого файла, а именно относительно адреса главной страницы нашего сайта. Такой адрес называется относительным.

Относительные интернет-адреса могут быть заданы относителБно файла и корневой папки сайта. Проиллюстрируем это на примере. Откройте страни-

цу About.htm и щелкните мышью по фотографии Ивана Ивановича, чтобы ее выделить. В поле ввода Src вы увидите:

../Pics/Ivanov.gif

Этот интернет-адрес указан относительно файла Web-страницы. Две точки в начале обозначают ссылку на папку верхнего уровня.

А вот так будет выглядеть адрес, указанный относительно корневой папки сайта:

/Pics/Ivanov.gif

Способ задания относительных интернет-адресов выбирается с помощью раскрывающегося списка Relative To (рис. 6.15) диалогового окна Select File: пункт Document задает адрес относительно файла, а пункт Site Root — относительно корневой папки сайта. В таком случае в поле ввода URL появляется результирующий интернет-адрес.

Рис. 6.15. Раскрывающийся список Relative To и поле ввода URL диалогового окна Select File

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

Но какой способ задания относительных адресов выбрать? Это зависит от того, где находится файл, на который вы хотите сослаться. Если он располагается в той же папке, что и файл текущей страницы, или в одной из подпапок этой папки, лучше задать адрес относительно файла, т. к. он будет компактнее. Если же нужный файл находится в другой папке, не вложенной в ту, где расположен файл текущей страницы, лучше задать адрес относительно корневой папки.

Проиллюстрируем вышесказанное на примере. Предположим, есть сайт с такой физической структурой:

<Корневая папка> default.htm folder1 page1.htm folder2

page2.htm

folder3 раgе3.htm

И предположим, что нужно разместить на странице pagel.htm ссылки на страницы page2.htm и page3.htm. В таком случае правильно заданные интернет-адреса будут выглядеть следующим образом:

folder2/page2.htm /folder3/page3.htm

т. е. адреса задаются относительно файла — для pag62.htm и относительно корневой папки — для page3.htm. Если же мы поступим наоборот:

/folder1/folder2/page2.htm ../folder3/page3.htm

то смотрите сами, насколько громоздкими и запутанными стали адреса.

И еще. Если вы собираетесь публиковать сайт на Web-сервере, можете задавать относительные адреса как от файла, так и от корневой папки сайта. Но если ваш сайт будет существовать только в виде локальной копии (например, чисто учебный сайт, который никогда не будет опубликован в Сети, или сайт-прототип, предварительная версия), задавайте относительные адреса только от файла страницы. Адреса, заданные относительно корневой папки сайта, будут работать только под управлением программы Web-сервера; операционная система вашего компьютера просто не сможет их найти, поскольку будет отсчитывать адреса от корневой папки диска.

Для примера давайте сравним два наших интернет-адреса:

/folder3/page3.htm ../folder3/page3.htm

Предположим также, что локальная копия сайта находится в папке

с:\Projects\Sites\Sample1

Первый интернет-адрес задан относительно корневой папки сайта. Операционная система, однако, будет отсчитывать его от корневой папки диска, и результирующий путь будет таков:

с:\Folder3\page3.htm

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

c:\Projects\Sites\Samplel\Folder3\page3.htm

и операционная система без труда найдет нужный файл.