PURL


PURL (англ. Persistent Uniform Resource Locator) — постоянный единообразный локатор (определитель местонахождения) ресурса. Формат PURL основан на URL — стандартизированном способе записи адреса ресурса в сети Интернет. PURL — это постоянный локатор ресурса, который (в отличие от обычного URL) не может измениться.

Идиома Всемирной паутины «наведи-и-щёлкни» сделала веб-сёрфинг простым и приятным занятием. Но довольно часто пользователь сталкивается с сообщением об ошибке 404: «Document Not Found». Эта ошибка возникает, когда запрошенный ресурс был перемещён, удалён, реструктурирован, переименован или же были произведены изменения в настройке веб-сервера или файловой системы сервера. Непредсказуемая мобильность ресурсов Интернета представляет огромную проблему, особенно для электронных библиотек, каталогов, словарей и энциклопедий. А виной всему — сами концепции URL и DNS, которым недостаёт гибкости где надо и вполне достаёт где не нужно.

Ресурсы во Всемирной паутине и Интернете перемещаются, домены DNS перерегистрируются, а ссылки в виде URL остаются, указывая на уже отсутствующие ресурсы. Общим решением этих проблем может стать разработка единообразных имён ресурсов URN (англ. Uniform Resource Names). Организация IETF (англ. Internet Engineering Task Force) уже некоторое время занимается URN, но результат пока не достигнут. Слишком много заинтересованных сторон участвуют в стандартизации URN, и всем им прийти к единому мнению будет непросто. А тем временем тысячи библиотек, каталогов, словарей и энциклопедий по всему миру нуждаются в немедленном решении этих проблем. И тут на сцену выходит проект PURL.

По своей функциональности PURL — это те же URL, но они указывают не на конкретное место расположения ресурса, а на запись в базе данных PURL, где, в свою очередь, записан уже конкретный URL-адрес ресурса. При обращении к PURL сервер находит нужную запись в этой базе данных и перенаправляет (через стандартный «HTTP redirect») запрос уже на конкретное местоположение ресурса. Если адрес ресурса меняется, то нет нужды исправлять все бесчисленные ссылки на него — достаточно лишь изменить запись (конкретный адрес) в БД, а PURL останется совершенно неизменным. Таким образом достигается постоянство внешнего адреса ресурса.

Как видно из примера, всё очень просто и эффективно. Этот механизм сродни перенаправлениям в Википедии.