Абсолютные и относительные интернет-адреса
А поговорим мы об интернет-адресах. Точнее, о разных способах задания интернет-адресов.
Снова откройте главную страницу сайта default.htm. Поместите текстовый курсор на слово "Macromedia" в первом абзаце (если помните, это гиперссылка, указывающая на сайт фирмы). В поле ввода Link редактора свойств вы увидите следующее:
http://www.macromedia.com
Это Web-адрес сайта Macromedia. Теперь давайте рассмотрим еще один интернет-адрес, на этот раз воображаемый:
http://www.somesite.ru/folder1/folder2/page.html
Этот адрес указывает на файл page.html, находящийся на сервере http://www.somesite.ru в папке /folder1/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 folder1page1.htm folder2
page2.htm
folder3 page3.htm
И предположим, что нужно разместить на странице page1.htm ссылки на страницы page2.htm и page3.htm. В таком случае правильно заданные интернет-адреса будут выглядеть следующим образом:
folder2
/
page2.htm
/
folder3
/
page3.htm
…т.е. адреса задаются относительно файла – для page2.htm и относительно корневой папки – для page3.htm. Если же мы поступим наоборот:
/
folder1
/
folder2
/
page2.htm
..
/
folder3
/
page3.htm
…то смотрите сами, насколько громоздкими и запутанными стали адреса.
И еще. Если вы собираетесь публиковать сайт на Web-сервере, можете задавать относительные адреса как от файла, так и от корневой папки сайта. Но если ваш сайт будет существовать только в виде локальной копии (например, чисто учебный сайт, который никогда не будет опубликован в Сети, или сайт-прототип, предварительная версия), задавайте относительные адреса только от файла страницы. Адреса, заданные относительно корневой папки сайта, будут работать только под управлением программы Web-сервера; операционная система вашего компьютера просто не сможет их найти, поскольку будет отсчитывать адреса от корневой папки диска.
Для примера давайте сравним два наших интернет-адреса:
/
folder3
/
page3.htm
..
/
folder3
/
page3.htm
Предположим также, что локальная копия сайта находится в папке:
c:\Projects\Sites\Sample1
Первый интернет-адрес задан относительно корневой папки сайта. Операционная система, однако, будет отсчитывать его от корневой папки диска, и результирующий путь будет таков:
c:\Folder3\page3.htm
…что не соответствует действительности. Поэтому вы не сможете перейти на данную страницу, щелкнув по гиперссылке – операционная система не найдет этот файл, и Web-обозреватель выдаст сообщение об ошибке. В то же время, второй интернет-адрес, заданный относительно файла страницы, будет интерпретирован правильно:
c:\Projects\Sites\Sample1\Folder3\page3.htm
…и операционная система без труда найдет нужный файл.