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 describe an intermediate location 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 various reasons.
PURLs look just like URLs because they are valid URLs. A PURL has three parts: the protocol used to access the PURL resolver, the resolver IP address or domain, and a user-assigned name.
The protocol is used to access the PURL resolver. The PURL resolver is a service, available via standard HTTP 1.0 protocols, that facilitates the creation, maintenance, and resolution of the PURL. The Domain is a subdivision of the name space on a PURL resolver. Domains currently provide the ability to control who has write access within a domain.
PURLs are categorized into different types depending on how they respond to a request. Most PURLs simply redirect to another URL (the "target" URL): Those are PURLs of type 302, because they respond to a request with an HTTP response code of 302, meaning that the object of the request was found elsewhere. PURLs may also respond with other HTTP response codes as shown in the table below.
||Moved permanently to a target URL
||Simple redirection to a target URL
||See other URLs (use for Semantic Web resources)
||Temporary redirect to a target URL
PURLs are created, maintained and resolved by a PURL resolver service or server. PURL servers may be accessed either by a Web user interface or a public API.
Six actions may be taken on a PURL: Creation, Advanced Creation, Modification, Searching, Validation or Disabling. These six actions may be accessed in the PURL Web user interface.
The single most important task that one can accomplish on a PURL server is the creation of a new PURL. Other administrative actions, from user, group or domain maintenance to the other operations on the PURLs themselves are secondary to that main task.
A "maintainer" is someone who can modify a PURL. A maintainer of a PURL may modify the record for that PURL. A user who creates a PURL is automatically added as a maintainer.
Anyone can create a PURL; however, you must be a registered user or member of the PURL resolver on which you want to create a PURL if you want to create one. You will then be able to create a PURL by following instructions on a form provided by the resolver.
Details on how to become a member of a PURL resolver and how to create, modify, search, validate and disable PURLs can be obtained from the PURL resolver service.