С формальной точки зрения ссылки и якоря представляют собой элементы
HTML, но ввиду особой важности этих элементов языка, рассмотрим
их отдельно.
Общий вид якоря
<a name=somename href="URL">это будет выделено</a>Аттрибут "href" и есть гиперссылка. Смысл этой конструкции прост - когда пользователь активирует (напр. укажет мышью на выделенный текст и нажмет кнопку) эту ссылку, то клиент обратится за документом, на который указывает URL.
URL в ссылках могут быть абсолютными и относительными.
Абсолютные URL имеют вид, описанный в предыдущем разделе,
т.е. явно указываются протокол, машина и путь.
Относительная ссылка задается в упрощенном виде.
Например, пользователь запросил
документ
http://sunct0.jinr.dubna.su/doc/index.htmlЭтот документ представляет собой список доступной в гипертекстовом виде документации на различные программные продукты. На каждый конкретный программный продукт указывает своя отдельная гиперссылка. Часть документов хранится на других компьютерах (много хорошего на сервере ЛТФ, http://thsun1.jinr.dubna.su/), часть в той же директории, что и сам index.html или "под" ней. Для первого случая пригодны только абсолютные ссылки, а для второго естественно и более правильно использовать относительные. Ниже следует отрывок из этого списка
<a href="http://thsun1.../hacker.html">Hackers</a> <a href="mbone.html">Multicast Backbone FAQ</A> <A HREF="gated/main.html">GateD</A>Документация на программу GateD находится в директории gated, и ее главный документ так и называется main.html. Эта относительная ссылка эквивалентна абсолютной
http://sunct0.jinr.dubna.su/doc/gated/main.htmlОтветы на часто задаваемые вопросы по логически выделенной в рамках Интернет сети, несущей пакеты малтимедиа, находятся в файле mbone.html, который лежит в той же директории, что и index.html. Соответственно, если последним документом, который был считан клиентом, является .../docs/index.html, то
"http://sunct0.jinr.dubna.su/doc/mbone.html"есть то же самое, что и
"mbone.html"Все это необходимо для того, чтобы иметь возможность создавать замкнутые комплексы из многих документов, которые легко можно было бы переносить с места на место - из одного положения внутри файловой системы в другое, с одной машины на другую. Представьте себе комплекс из сотен документов, связанных друг с другом, в телах которых присутствуют взаимные абсолютные ссылки, т.е. конкретные имена машин, пути в файловой системе и т.д. При необходимости перенести этот комплекс в другое место потребуется редактирование сотен файлов.
Параметр "name" позволяет ставить внутри документа метки.
Надо признаться, описание URL было не полным - на самом деле
возможно ссылаться на конкретные отмеченные места в документе !
А именно, для этого к имени документа добавляется символ '#' и
метка.
Заглянем в
mbone.html
<A HREF=#MBONE>What is the MBONE?</A>Это якорь с относительной ссылкой на другое место в текущем документе (так сказать, на самое себя). Когда пользователь активирует эту ссылку, разумный клиент должен, не обращаясь к серверу заново, найти и показать пользователю фрагмент, который на html выглядит так
<H2><A NAME=MBONE>What is the MBONE?</A></H2> The MBONE is an outgrowth of the first two IETF "audiocast" experiments in which live audio and video were multicast from the IETF ...Абсолютно таким же образом можно ссылаться на части чужих документов.
Метки и ссылки на них очень полезны. В принципе, есть два способа описать что-нибудь большое, используя HTML