PURL (Persistent Uniform Resource Locator)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 12:06, 11 ноября 2016.

PURL (Persistent Uniform Resource Locator) - однородный локатор ресурса (URL) (т.е., основанный на местоположении однородный идентификатор ресурса или URL), который используется, чтобы перенаправить к местоположению требуемого веб-ресурса. PURL перенаправляет клиентов HTTP, использующих коды состояний HTTP. PURL используется, чтобы курировать процесс разрешения URL, таким образом решая проблему преходящего URIs в основанных на местоположении схемах URI как HTTP. Технически разрешающая строка на PURL такая я же как на URL SEF.[1]

История

Концепция PURL была разработана в компании Online Computer Library Center, Inc.(рус.Сетевой компьютерный библиотечный центр) или OCLC в 1995 году и реализуется с использованием раздвоенный pre-1.0 release of Apache HTTP Server. Программное обеспечение было модернизировано и расширено в 2007 году компанией Zepheira по контракту OCLC и официальный сайт переехал в http://purlz.org ( 'Z' происходит от названия Zepheira и был использован, чтобы дифференцировать сайт PURL с открытым исходным кодом программного обеспечения от PURL, распознаватель управляется OCLC).[2]

PURL номера версий можно считать запутанными. OCLC выпустили версий 1 и 2 из исходного дерева Apache на основе, первоначально в 1999 году в рамках лицензии 1.0 Лицензия OCLC Research Public, а затем в соответствии с лицензией 2.0 License OCLC Research Public. Zepheira выпустила PURLz 1.0 в 2007 году в соответствии с лицензией Apache Version 2.0. PURLz 2.0 был выпущен в режиме бета-тестирования в 2010 году, но релиз не был завершен. Проект реализован The Callimachus Project в его версии 1.0 в 2012 году.

Самый старый PURL HTTP распознаватель находился под управлением OCLC с 1995 по сентябрь 2016 года и имел имя purl.oclc.org , а также как purl.org, purl.net, purl.com. Другие известные PURL распознаватели включают Управление правительственной печати США (http://purl.fdlp.gov), который работает в Федеральной целевой программе Депозитарные библиотеки и находится в эксплуатации с 1997 года.

Текущие версии программного обеспечения PURL и производственных экземпляров поддерживаются компанией 3 Round Stones. Концепция PURL используется в w3id.org, которые могут заменить старые PURL-услуги и PURL-технологии. 27-го сентября 2016 OCLC объявил о сотрудничестве с интернет-Архивом ( англ.,the Internet Archive), приводящим к передаче службы преобразователя и ее интерфейса администрирования к интернет-Архиву. Эта служба поддерживается на недавно создаваемом программном обеспечении, отдельном от всех предыдущих реализаций. Эта передача, повторно включенная возможность, управляет определениями PURL, которые отключались в размещенной службе OCLC в течение нескольких месяцев. Эта служба, размещенная на интернет-Серверах Архива, поддерживает доступ с помощью purl.org, purl.net, purl.info, и purl.com. . OCLC теперь перенаправляют запросы DNS на purl.oclc.org на purl.org.

Принцип работы

Понятие PURL допускает обобщенное курирование URL HTTP URIs во Всемирной паутине(англ.,The World Wide Web). PURL позволяют устанавливать сторонний контроль и над разрешением URL и над предоставлением метаданных ресурсов.

URL - просто адрес ресурса во всемирной паутине. Персистентный URL - адрес во всемирной паутине, который вызывает перенаправление к другому веб-ресурсу. Если веб-ресурс изменяет местоположение (и следовательно URL), PURL, указывающий на него, может быть обновлен. Пользователь PURL всегда использует тот же веб-адрес, даже при том, что рассматриваемый ресурс, возможно, переместился. PURL могут использоваться издателями, чтобы управлять их собственным информационным пространством или Веб-пользователями, чтобы управлять их; служба PURL независима от издателя информации. Службы PURL таким образом позволяют управление целостностью гиперссылки. Целостность гиперссылки - компромисс проекта всемирной паутины, но может быть частично восстановлена,, где и как решает URL, позволив пользователям ресурса или третьим сторонам влиять на него. Простой PURL работает, отвечая на запрос GET HTTP, возвращая отклик типа 302 (эквивалент кода состояния HTTP 302, что означает "Found"). Ответ содержит HTTP "Location" заголовок, значение которого является URL , который клиент должен впоследствии получить с помощью нового запроса HTTP GET. PURL реализовает одну из форм постоянного идентификатора для виртуальных ресурсов. Другие схемы включают в себя постоянный идентификатор цифровых идентификаторов объектов (Dois), идентификаторы науки о жизни (LSIDs) и INFO идентификаторы URI. Все постоянные схемы идентификации обеспечивают уникальные идентификаторы (возможно изменение) виртуальных ресурсов, но не все схемы предоставляют возможности курирования. Курирование виртуальных ресурсов была определена как "активном участии специалистов в области информации в управлении, в том числе сохранение, цифровых данных для использования в будущем."

PURL был подвергнут критике за их потребность разрешить URL, таким образом связав PURL с сетевым расположением. Сетевые расположения имеют несколько уязвимостей, таких как регистрация Системы доменных имен и зависимости хоста. Отказ разрешить PURL мог привести к неоднозначному состоянию: Это не было бы четким, не удавалось ли URL решить, потому что отказ сети предотвратил его или потому что этого не было. PURLs сами по себе являются действительными URL-адреса, поэтому их компоненты должны отображаться в спецификации URL. Часть схемы говорит о компьютерной программе, например, веб-браузер протокол которого используется при разрешении адреса. Схема, используемая для PURL, как правило, HTTP. Хост часть говорит, к какому серверу PURL подключен. В следующей части, домен PURL, аналогично пути ресурса в URL. Домен представляет собой иерархическое информационное пространство, которое отделяет PURL и позволяет PURL иметь разные мейнтейнеры. Один или несколько назначенных мейнтейнеров может управлять каждым доменом. Наконец, имя PURL это имя самого PURL. Домен и имя вместе составляют PURL в "ID".

Сравнение с постоянной ссылкой Оба, постоянная ссылка и PURL, используются в качестве постоянного/персистентного URL и перенаправлений к расположению требуемого веб-ресурса. Примерно разговор, поэтому, понятие - то же. Основное различие в понятиях о доменном имени и масштабе времени:

  • Постоянная ссылка обычно не изменяет домен URL и разработана, чтобы сохраниться за годы.[3]
  • Доменное имя PURL независимо изменяемо, и разработано, чтобы сохраниться за десятилетия.

Структура PURL

В базовом виде PURL почти не отличается от обычных URL:

            http://purl.oclc.org/OCLC/PURL/FAQ
            ----   ------------- -------------
             /           |           \
      протокол   сервер с БД PURL    имя

В PURL нельзя использовать символы '#' и '~'.

Схема обращения к ресурсу выглядит так:

   +-------+       PURL      +----------+
   |       |  ------------>> |          |
   |       |                 |   PURL   | 
   |   К   |       URL       |  СЕРВЕР  | 
   |   Л   |  <<------------ |          |
   |   И   |                 +----------+
   |   Е   |       URL       +----------+             
   |   Н   |  ------------>> |          | 
   |   Т   |                 |  СЕРВЕР  | 
   |       |      РЕСУРС     |  РЕСУРСА |     
   |       | <<------------  |          | 
   +-------+                 +----------+ 


Типы

Типы PURL
Тип PURL значение HTTP значение
200 Content created or aggregated OK
301 Moved permanently to a target URL Moved permanently
302 Simple redirection to a target URL Found
Chain Redirect to another PURL within the same server Found
Partial Redirect to a target URL with trailing path information appended Found
303 See other URL See Other
307 Temporary redirect to a target URL Temporary Redirect
404 Temporarily gone Not Found
410 Permanently gone Gone
Clone Copy the attributes of an existing PURL N/A

Большинство PURL - так называемые "простые PURL", которые обеспечивают перенаправление для желаемого ресурса. Код статуса HTTP, и следовательно типа PURL, простой PURL 302. Намерение PURL 302 состоит в том, чтобы сообщить Веб-клиенту и конечному пользователю, что PURL должна всегда использоваться, чтобы адресовать требуемый ресурс, не заключительный разрешенный URI. Это должно позволить продолжаемое разрешение ресурса, если PURL изменяется. Некоторые операторы предпочитают использовать PURL типа 301 (указание, что заключительный URI должен адресоваться в будущих запросах).[4]

PURL типа "chain" позволяет PURL перенаправлять к другой PURL способом, идентичным 301 или 302 перенаправлениям с различием, что сервер PURL обработает перенаправление внутренне, для большей эффективности. Эта эффективность полезна, когда возможно много перенаправлений ; так как некоторые Веб-браузеры остановят следующие перенаправления, как только встретятся с установленным лимитом (в попытке избежать циклов).

PURL типа "200" - "Active PURL", в которой PURL активно участвует в создании, или агрегация метаданных. Активная PURL включает некоторое произвольное вычисление, чтобы произвести его вывод. Активные PURL были реализованы в PURLz 2.0 и Проекте Callimachus. Они могут использоваться, чтобы собрать отчеты динамического статуса, выполнить распределенные запросы или любой другой тип сбора данных, где есть персистентный идентификатор. Активные PURL действуют подобные хранимой процедуре в реляционных базах данных.

PURL "303" используется для направления веб-клиента к ресурсу, который предоставляет дополнительную информацию о ресурсе к которому они обратились с просьбой, без возврата самого ресурса. Эта тонкость полезна, когда HTTP URI запрошенный используется в качестве идентификатора для физического или концептуальный объект, который не может быть представлен в качестве информационного ресурса. Вышивки типа 303 используются чаще всего для перенаправления метаданных в формате сериализованным Resource Description Framework (RDF) и имеют значение для Semantic Web и связанного содержимого данных. Такое использование кода состояния 303 HTTP является совместимую с HTTP-диапазона 14 нахождения технической архитектуры группы Wide Web Consortium World.

PURL типа "307" информирует пользователя о том, что ресурс временно пребывает в другом URL . PURL типов 404 и 410 отмечают, что запрашиваемый ресурс не может быть найден, и предлагает некоторую информацию для того, чтобы объяснить почему это было так. Поддержка HTTP 307 (Temporary Redirect), 404 (Not Found) и 410 (Gone) коды ответов предусмотрены для полноты картины.

PURL типов "404" и "410" обеспечены так, чтобы помочь администраторам в маркировке PURL, которые требуют ремонта. PURL этих типов допускают более эффективные признаки идентификационной неудачи ресурса, когда целевые ресурсы переместились, и подходящая замена не была определена.

PURL типа "клон" используются только во время администрации PURL как удобный метод копирования существующего отчета PURL в новую PURL.

Перенаправление фрагментов URL

Служба PURL включает в себя концепцию, известную как частичное перенаправление (англ.partial redirection). Если запрос не соответствует PURL точно, то запрашиваемый URL-адрес проверяется так, чтобы определить, есть ли какая-либо смежная передняя часть строки PURL соответствующая зарегистрированной PURL. Если это так, то переназначение происходит с остатком от запрашиваемого URL, приложенном к целевому URL. Например, рассмотрим PURL с URL в http//purl.org/some/path/ with / с целевым URL из http://example.com/another/path/. Попытка выполнить операцию HTTP GET на URL http//purl.org/some/path/and/some/more/data приведет к частичной переориентации наhttp://example.com/another/path/and/some/more/data. Понятие частичного перенаправления позволяет иерархиям Веб-ресурсов адресоваться через PURL без каждого ресурса, требующего его собственной PURL. Одна PURL достаточна, чтобы служить узлом верхнего уровня для иерархии на целевом сервере. Новая служба PURL использует тип, "partial", чтобы обозначить PURL, которая выполняет частичное перенаправление. Частичные переназначения на уровне URL не нарушают общие интерпретации спецификации HTTP 1.1. Однако обработка фрагментов URL через переназначения не была стандартизирована, и согласия еще не появилось. Идентификаторы фрагмента указывают на указатель на более определенную информацию в ресурсе и определяются как после # сепаратора в URIs. Частичное переназначение в присутствии идентификатора фрагмента проблематично, потому что возможно несколько противоречивых интерпретации. Начиная с PURLz серии 1.0, служба PURL реализует частичные перенаправлениями инклюзивных идентификаторов фрагментов путем записи фрагментов на целевых URL-адресов в попытке выполнить и избежать проблематичного и непоследовательного поведения со стороны производителей браузеров.

Смотрите также

Примечания

  1. PURL [Электронный ресурс]: — Режим доступа:wiki info
  2. PURL [Электронный ресурс]: — Режим доступа:Official website for PURLz
  3. PURL [Электронный ресурс]: — Режим доступа:Official website for The Callimachus Project
  4. PURL [Электронный ресурс]: — Режим доступа:OCLC's PURL resolver