PURL

PURLs (Persistent Uniform Resource Locators) are Web addresses that act as permanent identifiers in the face of a dynamic and changing Web infrastructure. Instead of resolving directly to Web resources, PURLs provide a level of indirection that allows the underlying Web addresses of resources to change over time without negatively affecting systems that depend on them. This capability provides continuity of references to network resources that may migrate from machine to machine for business, social or technical reasons.

The PURL toolkit was strongly influenced by the active participation of OCLC's Office of Research in the early Internet Engineering Task Force Uniform Resource Identifier working groups and Zepheira's participation at W3C in defining a Web Architecture for identifying and managing decentralized resources for supporting a variety of business and information management needs.

Background

The problem

The point-and-click idiom of World Wide Web access has made Internet browsing as easy as tapping on the door with your index finger, but every net surfer soon learns that, too often, the summons remains unanswered. The now-familiar Uniform Resource Locator (URL) can change at the whim of hardware reconfiguration, file system reorganization, or changes in organizational structure, leaving users stranded in 404 limbo... Document Not Found.

The unpredictable mobility of Internet resources is an inconvenience at best. For librarians, it is a serious problem which compromises their service to patrons and imposes an unacceptably large burden on catalog maintenance.

The ideal

The general solution to this problem is the development of Uniform Resource Names, or URNs. The process of defining URNs has been underway in the Internet Engineering Task Force (IETF) for some time. OCLC is an active participant and supporter of this process.

The persistence requirement of URN schemes is not a technological issue so much as an outcome of the social structures that evolve to meet a common community need. OCLC's origin is deeply rooted in precisely this shared commitment to providing reliable, long-term access to information.

Standardization is necessarily slow and deliberate. Putting all the pieces in place will require consensus in the IETF, developments in the community of Web browser implementers, and deployment of new code by the community of network system managers who administer the Domain Name System (DNS) for the Internet. The concerns and problems of the library community may not be fully appreciated or adequately addressed by these groups in a timely manner. Libraries can and should provide leadership in the solution of these problems.

The OCLC PURL Service

To aid in the development and acceptance of URN technology, OCLC has deployed a naming and resolution service for general Internet resources. The names, which can be thought of as Persistent URLs (PURLs), can be used both in documents and in cataloging systems. PURLs increase the probability of correct resolution and thereby reduce the burden and expense of catalog maintenance.

Functionally, a PURL is a URL. However, instead of pointing directly to the location of an Internet resource, a PURL points to an intermediate resolution service. The PURL resolution service associates the PURL with the actual URL and returns that URL to the client. The client can then complete the URL transaction in the normal fashion. In Web parlance, this is a standard HTTP "redirect".

Software

Although a PURL service is being run and maintained at OCLC, the PURL model lends itself to distribution across the net, with servers run by organizations with a commitment to maintaining persistent naming schemes (libraries, government organizations, publishers and others).

Since the introduction of the PURL model and services, a number of institutions have expressed an interest in formal participation and in running PURL servers of their own. OCLC freely distributes its PURL source code to aid in rapid, wide distribution of this enabling technology.

  • For further information, please see the PURL Documentation
  • The software is made available under the Apache License, Version 2.0.
  • Download the code here.
  • Please contact us to let us know if you're running a PURL Resolver, or to provide general feedback.

Most recent updates: Page content: 2016-09-27.  

Lead

Jeff Young