12 Посилання

12.1 Введення в посилання і якоря

HTML пропонує безліч умовних обертів для текстових та структурованих документів, але що відрізняє його від більшості інших мов розмітки - його можливості розмітки гіпертексту та інтерактивних документів. У цьому розділі вводиться поняття посилання (або гіперпосилання або посилання Web), основний гіпертекстової конструкції. Посилання пов'язують один ресурс Web з іншим. Незважаючи на простоту, посилання стали основною запорукою успіху Web.

Посилання має два кінці - званих anchors - і напрямок. Посилання починається в "вихідному" anchor (джерелі) і вказує на "цільової" anchor, який може бути будь-яким ресурсом Web (наприклад, зображенням, відеокліпом, звуковим файлом, програмою, документом HTML, елементом в документі HTML і т.д.).

12.1.1 Перехід до ресурсу, на який вказує посилання

За замовчуванням з посиланням пов'язана завантаження іншого ресурсу Web. Це поведінка досягається зазвичай шляхом вибору посилання (наприклад, за допомогою клацання миші, введення з клавіатури і т.д.).

У наступному HTML-фрагменті міститься два посилання , у однієї цільовим anchor є документ HTML з ім'ям "chapter2.shtml", а у другій цільової anchor - зображення у форматі GIF, розташоване в файлі "forest.gif":

  <BODY>
 ... якийсь текст ... <P> Детальніше див. в <A href="chapter2.shtml"> чолі два </A>. 
 Див. Також <A href="../images/forest.gif"> карту лісу. </A>
 </ BODY>

Шляхом активізації цих посилань (за допомогою клацання миші, введення з клавіатури, голосових команд і т.д.) користувачі можуть перейти до цих ресурсів. Зверніть увагу, що атрибут href в кожному вихідному anchor вказує адресу цільового anchor з використанням URI.

Цільовий anchor посилання може бути елементом в документі HTML. Цільовим anchor має даватися ім'я та адресу URI, що адресує цей anchor, Повинен містити це ім'я в якості ідентифікатора фрагмента .

Цільові anchors в документах HTML можуть зазначатися за допомогою елемента A (який називає його за допомогою атрибута name ) або за допомогою будь-якого іншого елемента (який називає за допомогою атрибута id ).

Таким чином, наприклад, автор може створювати зміст, елементи Якого є посиланнями на елементи заголовків H2 , H3 і т.д. в тому ж документі. Використовуючи елемент A для створення цільових anchors, можна записати:

  <H1> Зміст; / H1>
 <P> <A href="#section1"> Введення </A> <BR>
 <A Href="#section2"> Передісторія </A> <BR>
 <A Href="#section2.1"> Більш конкретні замітки </A> <BR>
 ... продовження утримання ... ... тіло документа ... <H2> <A name="section1"> Введення </A> </ H2>
 ... розділ 1 ... <H2> <A name="section2"> Передісторія </A> </ H2>
 ... розділ 2 ... <H3> <A name="section2.1"> Більш конкретні замітки </A> </ H3>
 ... розділ 2.1 ...
 

Цього ж ефекту можна досягти, зробивши якорями самі елементи заголовка:

  <H1> Зміст </ H1>
 <P> <A href="#section1"> Введення </A> <BR>
 <A Href="#section2"> Передісторія </A> <BR>
 <A Href="#section2.1"> Більш конкретні замітки </A> <BR>
 ... продовження утримання ... ... тіло документа ... <H2 id = "section1"> Введення </ H2>
 ... Розділ 1 ... <H2 id = "section2"> Передісторія </ H2>
 ... Розділ 2 ... <H3 id = "section2.1"> Більш конкретні замітки </ H3>
 ... розділ 2.1 ...
 

12.1.2 Інші відносини посилань

Найбільш часто зараз посилання використовуються для завантаження інших ресурсів Web, як показано в попередніх прикладах. Однак автори можуть розміщувати в свої документи посилання, що виражають інші відносини між ресурсами, ніж просто "використання посилання для Перегляду пов'язаного ресурсу". Для посилань, що виражають інші типи відносин, У вихідному якорі вказуються один або більше типів посилань .

Ролі посилань, які визначаються елементом A або LINK вказуються за допомогою атрибутів rel і rev .

Наприклад, посилання, які визначаються елементом LINK , можуть описувати становище документа в послідовності документів. У наступному прикладі посилання в документі "Глава 5" вказує на попередню і наступну глави:

  <HEAD>
 ... інша заголовна інформація ... <TITLE> Глава 5 </ TITLE>
 <LINK rel = "prev" href = "chapter4.shtml">
 <LINK rel = "next" href = "chapter6.shtml">
 </ HEAD>

Тип першого посилання - "prev", другий - "next" (два з ряду розпізнаються типів посилань ). Посилання, що задаються елементів LINK , не генеруються з вмістом документа, хоча агенти користувачів можуть відображати їх різними способами (наприклад, у вигляді засобів переходу).

Навіть якщо вони не використовуються для переходу, ці посилання можуть інтерпретуватися цікавими способами. Наприклад, агент користувача, який виконує друк ряду документів в форматі HTML в одному примірнику, може використовувати цю інформацію для формування послідовного лінійного документа. Подальша інформація про використання посилань для пошукових систем наведена нижче.

12.1.3 Завдання якорів і посилань

Хоча деякі елементи і атрибути мови HTML створюють посилання на інші ресурси (наприклад, елемент IMG , елемент FORM і т.д.), в цій главі посилання і якоря, створювані елементами LINK і A . Елемент LINK може бути присутнім тільки в заголовку документа. Елемент A може бути присутнім тільки в тілі документа.

Якщо для елемента A встановлений атрибут href , цей елемент визначає вихідний якір для посилання, яка може активізуватися користувачем для завантаження ресурсу Web. Вихідний якір - це місце розташування примірника елемента A і цільової якір ресурсу Web.

Завантажений ресурс може оброблятися агентом користувача різними способами: відкриттям нового документа HTML в тому ж вікні агента, відкриттям нового документа HTML в іншому вікні, запуском нової програми для обробки ресурсу і т.д. Оскільки елемент A має зміст (текст, зображення і т.д.), агенти користувачів можуть генерувати це вміст так, щоб показати наявність посилання (наприклад, підкреслюючи вміст).

Якщо встановлені атрибути name або id елемента A , цей елемент визначає якір, який може служити метою інших посилань.

Автори можуть встановлювати атрибути name і href одночасно в одному екземплярі елементу A .

Елемент LINK визначає відношення між поточним документом і іншим ресурсом. Хоча елемент LINK не має вмісту, що визначаються їм відносини можуть відображатися деякими агентами користувачів.

12.1.4 Заголовки посилань

Атрибут title може встановлюватися як для елемента A , так і для елемента LINK ; в ньому вказується інформація про природу посилання. Ця інформація може проговорюватися агентом користувача, відображатися у вигляді підказки, змінювати вид курсору і т.д.

Таким чином можна augment попередній приклад , вказавши для кожного посилання заголовок:

  <BODY>
 ... деякий текст ... <P> Детальніше Ви можете дізнатися про це в <A href = "chapter2.shtml"
  title = "Перейдіть до глави 2"> чолі 2 </A>.
 <A href = "./ chapter2.shtml"
  title = "Перехід до глави 2."> глава 2 </A>. 
 Див. Також <A href = "../ images / forest.gif"
  title = "Зображення лісу в форматі GIF"> карту лісу. </A>
 </ BODY>

12.1.5 Інтернаціоналізація і посилання

Оскільки посилання можуть вказувати на документи, що використовують інші кодування символів , елементи A і LINK підтримують атрибут charset . Цей атрибут дозволяє авторам рекомендувати агентам користувачів кодування даних у зв'язаному документі.

Атрибут hreflang надає агенту користувача інформацію про мову пов'язаного ресурсу, точно так же, як атрибут lang надає інформацію про мову вмісту елемента або значеннях атрибутів.

Маючи додаткові знання, агенти користувачів повинні мати можливість не подавати користувачу "сміття". Замість цього вони можуть знаходити ресурси, необхідні для коректного подання документа або, якщо вони не можуть знайти ці ресурси, принаймні повідомити користувача про неможливість прочитання документа із зазначенням причини.

12.2 Елемент A

  <! ELEMENT A - - ( % inline; ) * - (A) - якір (точка посилання) ->
 <! ATTLIST A
  % attrs;
  - % Coreattrs , % i18n , % events -
  charset % Charset;
  #IMPLIED - Кодування символів пов'язаного ресурсу -
  type % ContentType;
  #IMPLIED - Рекомендований тип вмісту -
  name CDATA #IMPLIED - кінець іменованої посилання -
  href % URI;
  #IMPLIED - URI пов'язаного ресурсу -
  hreflang % LanguageCode;
  #IMPLIED - Код мови -
  rel % LinkTypes;
  #IMPLIED - Типи прямих посилань -
  rev % LinkTypes;
  #IMPLIED - Типи зворотних посилань -
  accesskey % Character;
  #IMPLIED - Клавіша доступу -
  shape % Shape;
  rect - для використання з клієнтськими навігаційними картами -
  coords % Coords;
  #IMPLIED - Для використання з клієнтськими навігаційними картами -
  tabindex NUMBER #IMPLIED - положення в послідовності переходу -
  onfocus % Script;
  #IMPLIED - Фокус на елементі -
  onblur % Script;
  #IMPLIED - Фокус поза елементом -
  >

Початковий тег: обов'язковий, Кінцевий тег: обов'язковий

визначення атрибутів

name = cdata [CS]
Цей атрибут дає якоря ім'я, так що він може служити метою інший посилання. Значення цього атрибута повинно бути унікальне ім'я. Область дії імені - поточний документ. Зверніть увагу, що цей атрибут використовує спільний простір імен з атрибутом id .
href = uri [CT]
Цей атрибут визначає місце розташування ресурсу Web, визначаючи зв'язок між поточним елементом (вихідним якорем) і цільовим якорем, що визначаються цим атрибутом.
hreflang = langcode [CI]
Цей атрибут задає базовий мову ресурсу, якого призначає атрибутом href , і може використовуватися, тільки якщо зазначений атрибут href .
type = content-type [CI]
Якщо цей атрибут заданий, він визначає тип частини вмісту, наприклад, результат зворотної дії посилання на ресурс. Типи вмісту визначені в розділі [MIMETYPES] .
rel = link-types [CI]
Цей атрибут описує ставлення з поточного документа до якоря, заданому атрибутом href . Значення цього атрибута є розділений пробілами список типів посилань.
rev = link-types [CI]
Цей атрибут використовується для опису зворотної посилання з якоря, що задається атрибутом href , в поточний документ. Значення цього атрибута є розділений пробілами список типів посилань.
charset = charset [CI]
Цей атрибут задає кодування символів призначуваного посиланням ресурсу. Детальніше див. У розділі про кодуваннях символів .

Кожен елемент A визначає якір

  1. Вміст елемента A визначає положення якоря.
  2. Атрибут name задає ім'я якоря, так що він може служити пунктом призначення будь-якого числа посилань (див. Також якоря з атрибутом id ).
  3. Атрибут href призначає якір пунктом призначення рівно одного посилання.

Автори також можуть створювати елемент A , не визначальний жодного якоря, і якому не вказано href , name або id . Значення цих атрибутів можуть встановлюватися пізніше за допомогою скриптів.

У наступному прикладі елемент A визначає посилання. Вихідним якорем є текст "Web-сайті W3C", а пунктом призначення - "http://www.w3.org/":

  Детальніше про W3C Ви можете дізнатися на 
 <A Href="http://www.w3.org/"> Web-сайті W3C </A>. 

Це посилання вказує на сторінку World Wide Web Consortium. Якщо користувач активізує це посилання у своєму агентові, агент завантажить ресурс, в даному випадку - документ HTML.

Зазвичай агенти користувачів представляють посилання так, щоб вони були очевидні для користувачів (підкреслення, зворотне відео і т.д.). Конкретне уявлення залежить від агента користувача. Подання може відрізнятися в залежності від того, чи відвідував вже користувач вказане посилання. Можливе візуальне поданням попередньої посилання:

  Детальніше про W3C Ви можете дізнатися на Web-сайті W3C.
  ~~~~~~~~~~~~~

Щоб дати агентам користувачів явне вказівку кодування символів цільової сторінки, встановіть атрибут charset :

  Детальніше про W3C Ви можете дізнатися на
 <A Href="http://www.w3.org/" charset="ISO-8859-1"> Web-сайті W3C </A> 

Припустимо, ми визначаємо якір з ім'ям "anchor-one" в файлі "one.shtml".

  ... текст до якоря ... <A name="anchor-one"> Це місце розташування першого якоря. </A>
 ... текст після якоря ...
 

У цьому фрагменті навколо тексту "Це місце розташування першого якоря" створюється якір. Зазвичай вміст елемента A неможливо будь-яким особливим чином, якщо елемент A визначає тільки якір.

Визначивши якір, ми можемо пов'язати його з цим же або з іншим документом. URI, що призначають якір, включають символ "#", за яким слідує ім'я якоря ( ідентифікатор фрагмента ). Ось кілька прикладів таких URI:

  • Абсолютний URI: http://www.mycompany.com/one.shtml#anchor-one
  • Відносний URI: ./one.shtml#anchor-one або one.shtml # anchor-one
  • Якщо посилання визначена в тому ж документі: # anchor-one

Таким чином, посилання, певна в файлі "two.shtml", який знаходиться в одному каталозі з файлом "one.shtml", буде вказувати на цей якір наступним чином:

  ... текст до посилання ... Детальніше див. <A href="./one.shtml#anchor-one"> перший якір </A>.
 ... текст після заслання ...
 

Елемент A в наступному прикладі задає посилання (за допомогою атрибута href ) і одночасно створює іменований якір (за допомогою атрибута name ):

  Я тільки що повернувся з відпустки!  ось
 <A name = "anchor-two" 
  href = "http://www.somecompany.com/People/Ian/vacation/family.png">
 фотографія моєї сім'ї на озері. </A>.

У цьому прикладі міститься посилання на інший тип ресурсу Web (зображення у форматі PNG). Активізація посилання повинна привести до завантаження зображення з Web (і, можливо, його відображення, якщо система налаштована відповідним чином).

Примітка. Агенти користувачів повинні вміти знаходити якоря, створені порожніми елементами A , але деякі агенти не можуть цього робити. Наприклад, деякі агенти користувачів можуть не знайти "empty-anchor" в наступному фрагменті HTML:

 <A Name="empty-anchor"> </A> <EM> ... деякі текст у форматі HTML ... </ EM> <A href="#empty-anchor"> Посилання на порожній якір </ A > 

12.2.1 Синтаксис імен якорів

Іменем якоря є значення атрибута name або атрибута id , який використовується в контексті якоря. До імен якорів застосовуються такі правила:

Таким чином, наступний приклад є коректним в сенсі відповідності рядків і повинен розглядатися агентами користувачів як збіг:

  <P> <A href="#xxx"> ... </A>
 ... деякий текст ... <P> <A name="xxx"> ... </A>

ПРИКЛАД неприпустимість використання:
Наступний приклад не є коректним в сенсі унікальності, оскільки два імені відрізняються тільки регістром:

  <P> <A name="xxx"> ... </A>
 <P> <A name="XXX"> ... </A>

Хоча далі наводиться допустимий код HTML, поведінка агента користувача в даному випадку не визначено; деякі агенти користувачів можуть (помилково) вважати це збігом, інші можуть так не брати до уваги.

  <P> <A href="#xxx"> ... </A>
 ... деякий текст ... <P> <A name="XXX"> ... </A>

Імена якорів повинні містити тільки символи набору ASCII. Детальніше див. У розділі про використання символів, що не входять в набір ASCII, в значеннях атрибутів URI .

12.2.2 Вкладені посилання неприпустимі

Посилання та якоря, визначаються елементом A , не можуть бути вкладеними; елемент A не повинен містити інших елементів A .

Оскільки DTD визначає елемент LINK як порожній, елементи LINK також не можуть бути вкладеними.

12.2.3 Якорі з атрибутом id

Атрибут id може використовуватися для створення якоря в початковому тегу будь-якого елементу (включаючи елемент A ).

В даному прикладі показано використання атрибуту id для розміщення якоря в елементі H2 . Зв'язок з якорем здійснюється за допомогою елемента A .

  Детальніше про це Ви можете прочитати в <A href="#section2"> Розділі 2 </A>.
 ... далі в документі <H2 id = "section2"> Розділ 2 </ H2>
 ... далі в документі <P> Детальніше див. в <A href="#section2"> Розділі 2 </A> вище.

У наступному прикладі ім'я цільового якоря задається за допомогою атрибута id :

  Я тільки що повернувся з відпустки!  ось
 <A Id="anchor-two"> фотографія моєї сім'ї на озері. </A>.

Атрибути id і name використовують один і той же простір імен. Це означає, що вони не можуть визначати якір з одним і тим же ім'ям в одному і тому ж документі.

ПРИКЛАД неприпустимість використання:
Далі показаний неприпустимий фрагмент коду HTML, оскільки ці атрибут оголошують одне і те ж ім'я двічі в межах одного документа.

  <A Href="#a1"> ... </A>
 ...
 <H1 id = "a1">
 ... сторінки та сторінки ... <A name="a1"> </A>

За специфікації в HTML DTD атрибут name може містити посилання на символи . Таким чином, значення D & # xfc; rst є допустимим для атрибута name , так само як D & uuml; rst. Атрибут id не може містити посилання на символи.

Що використовувати - id або name ? При виборі елемента id або name для вказівки імені якоря автори повинні мати на увазі наступне:

  • Атрибут id може бути не тільки ім'ям якоря (а також селектором таблиці стилів, ідентифікатором обробки і т.д.).
  • Деякі агенти користувачів старіших версій не підтримують якоря, створені за допомогою атрибута id .
  • Атрибут name забезпечує більш різноманітні імена якорів (з використанням entities ).

12.2.4 Недоступні і невизначені ресурси

Посилання на недоступний або невизначених ресурс є помилкою. Хоча агенти користувачів можуть по-різному обробляти такі помилки, рекомендується наступне поведінка:

  • Якщо агент користувача не може знайти пов'язаний ресурс, він повинен повідомити про це користувача.
  • Якщо агент користувача не може ідентифікувати тип пов'язаного ресурсу, він повинен спробувати обробити його. Він повинен повідомити користувача і дозволити користувачеві втрутитися і визначити тип документа.

12.3 Відносини документів: елемент LINK

  <! ELEMENT LINK - O EMPTY - незалежна від пристрою посилання ->
 <! ATTLIST LINK
  % attrs;
  - % Coreattrs , % i18n , % events -
  charset % Charset;
  #IMPLIED - Кодування символів пов'язаного ресурсу -
  href % URI;
  #IMPLIED - URI пов'язаного ресурсу -
  hreflang % LanguageCode;
  #IMPLIED - Код мови -
  type % ContentType;
  #IMPLIED - Рекомендований тип вмісту -
  rel % LinkTypes;
  #IMPLIED - Тип прямого зв'язку -
  rev % LinkTypes;
  #IMPLIED - Тип зворотного зв'язку -
  media % MediaDesc;
  #IMPLIED - Для подання на цих пристроях -
  >

Початковий тег: обов'язковий, Кінцевий тег: заборонений

Цей елемент визначає зв'язок. На відміну від елемента A , він може бути присутнім тільки в розділі HEAD документа, хоча може бути присутнім необмежену кількість разів. Хоча елемент LINK не має вмісту, він містить інформацію про відносини, яка може представлятися агентами користувачів різними способами (наприклад, у вигляді панелі з списком, що випадає посилань).

В даному прикладі показано, як кілька визначень елемента LINK можуть бути представлені в розділі HEAD документа. Поточним документом є "Chapter2.shtml". Атрибут rel вказує відношення пов'язаного документа з поточним документом. Значення "Index", "Next" і "Prev" описані в розділі, присвяченому типам посилань .

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 // EN"
  "Http://www.w3.org/TR/REC-html40/strict.dtd">
 <HTML>
 <HEAD>
  <TITLE> Глава 2 </ TITLE>
  <LINK rel = "Index" href = "../ index.shtml">
  <LINK rel = "Next" href = "Chapter3.shtml">
  <LINK rel = "Prev" href = "Chapter1.shtml">
 </ HEAD>
 ... продовження документа ...
 

12.3.1 Прямі та зворотні посилання

Атрибути rel і rev грають додаткові ролі - атрибут rel задає пряме посилання, а атрибут rev - зворотний.

Розглянемо два документа - A і B.

  Документ A: <LINK href = "docB" rel = "foo">

має точно таке ж значення, що і:

  Документ B: <LINK href = "docA" rev = "foo">

Обидва атрибута можуть визначатися одночасно.

12.3.2 Посилання та зовнішні таблиці стилів

Якщо елемент LINK посилається на зовнішню таблицю стилів для документа, атрибут type вказує мову таблиці стилів, а атрибут media - передбачуване пристрій або пристрої для представлення документа. Агенти користувачів можуть заощадити час, завантажуючи з мережі тільки ті таблиці стилів, які впливають на поточний пристрою.

Типи пристроїв обговорюються в розділі, присвяченому таблиць стилів.

12.3.3 Посилання та пошукові машини

Автори можуть використовувати елемент LINK для вказівки різної інформації для пошукових машин, включаючи:

  • Посилання на альтернативні версії документа, написані на інших мовах.
  • Посилання на альтернативні версії документа, розроблені для інших пристроїв, наприклад, на версії, призначені спеціально для друку.
  • Посилання на початкові сторінки набору документів.

У прикладах нижче показано, як інформація про мову, типах пристроїв і типах посилань може використовуватися для поліпшення обробки документа пошуковими машинами.

У наступному прикладі ми використовуємо атрибут hreflang , щоб повідомити пошуковим машинам, де знаходяться голландська, португальська та арабська версії документа. Зверніть увагу на використання атрибутів dir і charset для керівництва на арабській мові, а також на використання атрибута lang для зазначення того, що значенням атрибута title для елемента LINK , що вказує керівництво французькою мовою, задано по-французьки.

  <HEAD>
 <TITLE> Керівництво англійською мовою </ TITLE>
 <LINK title = "Керівництво голландською мовою"
  type = "text / html"
  rel = "alternate"
  hreflang = "nl" 
  href = "http://someplace.com/manual/dutch.shtml">
 <LINK title = "Керівництво португальською мовою"
  type = "text / html"
  rel = "alternate"
  hreflang = "pt" 
  href = "http://someplace.com/manual/portuguese.shtml">
 <LINK title = "Керівництво арабською мовою"
  dir = "rtl"
  type = "text / html"
  rel = "alternate"
  charset = "ISO-8859-6"
  hreflang = "ar" 
  href = "http://someplace.com/manual/arabic.shtml">
 <LINK lang = "fr" title = "La documentation en Fran & ccedil; ais"
  type = "text / html"
  rel = "alternate"
  hreflang = "fr"
  href = "http://someplace.com/manual/french.shtml">
 </ HEAD>

У наступному прикладі ми повідомляємо пошуковим машинам, де знаходиться друкована версія керівництва.

 <HEAD> <TITLE> Керівництво </ TITLE> <LINK media = "print" title = "Керівництво в форматі postscript" type = "application / postscript" rel = "alternate" href = "http://someplace.com/manual /postscript.ps "> </ HEAD> 

У наступному прикладі ми повідомляємо пошуковим машинам, де знаходиться перша сторінка набору документів.

  <HEAD>
 <TITLE> Керівництво - сторінка 5 </ TITLE>
 <LINK rel = "Start" title = "Перша сторінка керівництва"
  type = "text / html"
  href = "http://someplace.com/manual/start.shtml">
 </ HEAD>

Подальша інформація наведена в зауваженнях в додатку про те, як допомогти пошуковим машинам проіндексувати Ваш Web-сайт .

12.4 Інформація про шляхи: елемент BASE

  <! ELEMENT BASE - O EMPTY - базовий URI документа ->
 <! ATTLIST BASE
  href % URI;
  #REQUIRED - URI, службовець базовим -
  >

Початковий тег: обов'язковий, Кінцевий тег: заборонений

визначення атрибутів

href = uri [CT]
Цей атрибут задає абсолютний URI, службовець базовим URI для дозволу відносних URI.

Атрибути, обумовлені в іншому місці

В HTML посилання на зовнішні зображення, аплети, програми для обробки форм, таблиці стилів і т.д. завжди задаються за допомогою URI. Відносні URI дозволяються відповідно до базового URI, який може визначатися з різних джерел. Елемент BASE дозволяє авторам явно вказати базовий URI документа.

Якщо елемент BASE вказано, він повинен бути присутнім в розділі HEAD документа HTML, до елементів, що посилаються на зовнішні ресурси. Інформація про шляхи, зазначена в елементі BASE , впливає тільки на URI в документі, в якому присутній цей елемент.

Наприклад, дані наступне оголошення BASE та оголошення A :

  <! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.0 // EN"
  "Http://www.w3.org/TR/REC-html40/strict.dtd">
 <HTML>
  <HEAD>
  <TITLE> Наші продукти </ TITLE>
  <BASE href = "http://www.aviary.com/products/intro.shtml">
  </ HEAD>
  <BODY>
  <P> Ви бачили наші <A href="../cages/birds.gif"> клітки для птахів </A>?
  </ BODY>
 </ HTML>

відносний URI "../cages/birds.gif" буде дозволений в:

  http://www.aviary.com/cages/birds.gif

12.4.1 Дозвіл відносних URI

Агенти користувачів повинні обчислювати базовий URI для дозволу відносних URI відповідно до [RFC1808] , розділ 3. Далі описано, як [RFC1808] застосовується саме до HTML.

Агенти користувачів повинні обчислювати базовий URI у відповідності з наступним пріоритетом (від вищого пріоритет до нижчого):

  1. Базовий URI, що встановлюється елементом BASE .
  2. Базовий URI, що задається метаданими, виявленими в процесі роботи по протоколу, такими як заголовок HTTP (див. [RFC2068] ).
  3. За замовчуванням базовим URI є URI поточного документа. Не всі документи HTML мають базовий URI (наприклад, документ HTML може бути присутнім в електронному листі та може не визначатися ніяким URI). Такі документи HTML вважаються erroneous, якщо вони містять відносні URI і використовують базовий URI за замовчуванням.

Крім того, елементи OBJECT і APPLET визначають атрибути, що мають перевагу над значенням, встановленим для елемента BASE . Детальніше про належних до них визначень URI см. В визначеннях цих елементів.

Посилання, зазначені в заголовках HTTP, обробляються в точності так, як елементи LINK , явно встановлені в документі.