Введение
Постоянная веб-гиперссылка
Постоянная ссылка (или пермалинк) – это URL-адрес, который предназначен для сохранения неизменности на протяжении многих лет, обеспечивая гиперссылку, менее подверженную устареванию. Пермалинки часто оформляются в простом виде, то есть как "чистые" URL-адреса, чтобы их было легче вводить и запоминать. Большинство современных систем для ведения блогов и распространения контента поддерживают такие ссылки. Иногда для их создания используется сокращение URL-адресов. Пермалинк является типом постоянного идентификатора, и слово "пермалинк" иногда используется как синоним "постоянного идентификатора". Однако чаще всего термин "пермалинк" применяется к постоянным идентификаторам, генерируемым системой управления контентом для страниц, обслуживаемых этой системой. Это особенно распространено в блогосфере. Поддержка таких ссылок не осуществляется внешними организациями, и их долговечность зависит от надежности самой системы управления контентом.
История
В первые годы существования сети весь контент был статичным, и все гиперссылки указывали на имя файла. Вскоре, однако, многие веб-страницы стали динамическими, и многие URL-адреса начали включать параметры запроса. Одним из первых зафиксированных случаев использования термина "постоянная ссылка" в современном значении был случай с Джейсоном Коттке 5 марта 2000 года, в записи под названием: "Наконец-то. Заметили?". Мэтью Хоуги обсуждал возможность реализации функции постоянных ссылок с соучредителями Blogger Эваном Уильямсом и Полом Баушем на предыдущих выходных, и Бауш отметил, что технически возможно создавать постоянные ссылки в Blogger, используя функцию (разработанную им), которая позволяла размещать ID записи в шаблоне Blogger. В ответ на запись в блоге Коттке, 6 марта 2000 года, Хоуги опубликовал технические детали в своем блоге, что способствовало широкому распространению этой практики.
Цель
Постоянство ссылок желательно, когда элементы контента, вероятно, будут связаны с внешними источниками, ссылаться на них или цитироваться ими, особенно если эти источники находятся за пределами организации, создавшей контент. До появления крупных динамических веб-сайтов, построенных на системах управления контентом с базами данных, URL-адреса конкретных элементов контента чаще всего были статичными и удобными для чтения, поскольку структура и именование URL-адресов определялись создателем этого контента. Увеличение объема контента и сложности управления привели к распространению систем, управляемых базами данных, что повлекло за собой появление неудобных и часто меняющихся URL-адресов, и, как следствие, необходимость разработки специальных политик в отношении дизайна URL-адресов и обеспечения постоянства ссылок. Например, внутренние URL-адреса Википедии, основанные на Common Gateway Interface, упрощаются для повышения читабельности. Внутренний URI для статьи Википедии под названием Example, который выглядит как http://en.wikipedia.org/w/index.php?title=Example, генерируется посредством перенаправления URL с более удобного для чтения внешнего URL-адреса http://en.wikipedia.org/wiki/Example. Запись в блоге с большим количеством записей доступна на главной странице сайта лишь короткое время. Посетители, сохранившие URL определенной записи, часто обнаруживают, что при повторном переходе по ссылке желаемый контент был заменен новым. Блогеры часто размещают постоянные ссылки (permalinks) на видном месте, чтобы побудить посетителей сохранять более долговечный URL-адрес для последующего использования. Постоянные ссылки обычно состоят из строки символов, представляющих дату и время публикации, а также идентификатора, указывающего автора или тему записи. Важно, что при изменении, переименовании или перемещении элемента внутри базы данных его постоянная ссылка остается неизменной, поскольку она действует как уникальный идентификатор, ссылающийся на запись в базе данных. Если элемент удален полностью, его постоянная ссылка, как правило, не может быть использована повторно. Постоянные ссылки впоследствии стали основой для ряда инноваций, включая отслеживание ссылок и обратные ссылки в веб-блогах, а также ссылки на конкретные записи в веб-блогах в потоках RSS или Atom.
Сравнение с PURL
Как постоянная ссылка, так и PURL (постоянный универсальный указатель ресурса) используются как устойчивые URL-адреса и перенаправляют на местонахождение запрашиваемого веб-ресурса. Основные различия между этими понятиями касаются доменного имени и временного масштаба: PURL использует независимое выделенное доменное имя и рассчитан на десятилетия, в то время как постоянные ссылки обычно не меняют домен URL и предназначены для использования в течение нескольких лет.
Постоянные ссылки и версии
Многие системы ведения блогов и управления контентом не поддерживают версионирование контента, то есть при обновлении записи уникально доступная версия не создается. Таким образом, в контексте этих систем постоянная ссылка может со временем указывать на разное содержимое. В контексте систем, поддерживающих версионирование, таких как большинство вики, постоянная ссылка обычно понимается как ссылка на конкретную версию. В этом случае и сама ссылка, и ресурс, на который она указывает, не должны изменяться со временем. MediaWiki, программное обеспечение, на котором работает Википедия, поддерживает этот тип постоянных ссылок. В текущей реализации старые версии конкретных статей, изображений и шаблонов доступны по уникальным неизменяемым URL-адресам, хотя текущие версии записей могут не использовать старые версии изображений и шаблонов. Рекомендуется использовать постоянные ссылки на конкретные версии при цитировании статей из таких источников, как Википедия и Викиновости, чтобы гарантировать неизменность контента для проверки. Рецензент может просмотреть цитируемую версию, текущую версию и различия между ними.
Обнаружение постоянной ссылки
Пермалинки могут быть указаны в HTML-коде страницы, чтобы автоматизированные инструменты для просмотра веб-страниц могли обнаруживать пермалинку и использовать её для создания ссылок вместо указанного URL. Элемент `<link>` должен включать следующие атрибуты:
<link rel="bookmark" href="http://example. com/bookmark/123/" />
<link rel="bookmark" href="http://example. com/bookmark/123/" />