PURLs: Persistent Uniform Resource Locators

Stuart Weibel
Erik Jul
Keith Shafer

1.0 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.

2.0 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 implementors, 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.

3.0 Today's Solution: 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.

PURLs look like URLs (they are URLs):

             http://purl.oclc.org/OCLC/PURL/FAQ
             ----   ------------- -------------
              /           |           \
       protocol   resolver address     name  

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".

    +-------+       PURL      +----------+ Resolver associates PURL 
    |       |  ------------>> |          | with unique URL; maintenance 
    |       |                 |   PURL   | utilities facilitate 
    |   C   |       URL       |  SERVER  | creation of PURLs and 
    |   L   |  <<------------ |          | modification of associated 
    |   I   |                 +----------+ URLs.
    |   E   |       URL       +----------+             
    |   N   |  ------------>> |          | 
    |   T   |                 | RESOURCE | 
    |       |    Resource     |  SERVER  |     
    |       | <<------------  |          | 
    +-------+                 +----------+     

The OCLC PURL Service has been available since the beginning of the year at http://purl.oclc.org. Some statistics:

As of Thu Feb 25 05:55:58 EST 1999 : PURLs Created = 286460 , PURLs Resolved = 5375882 and Unique Client Systems = 508104

4.0 The Future

We have assigned PURLs to records cataloged in the Internet Cataloging Project, the U.S. Department of Education-funded project to advance cataloging practice for Internet resources. This project represents the leading edge of MARC description of Internet resources, and has become the forum for discussion and development of standard practice in this new area of digital librarianship. (See the InterCat home page at http://purl.oclc.org/net/InterCat.)

The assignment of PURLs is an intermediate step towards the time when URNs are an integral part of the Internet information architecture. The eventual syntax of URNs is clear enough at this time to afford confidence that the syntax of PURLs can be inexpensively and mechanically translated to the eventual URN form.

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. See http://www.oclc.org/purl/docs/download.html for details.

For further information, please see


This article is an updated version of PURLs to improve access to Internet by Stuart L. Weibel and Erik Jul from the 1995 November/December issue of the OCLC Newsletter, page 19.
Other project staff: Jon Fausey, Eric Miller, Roger Thompson, Vince Tkac