A Project of OCLC Research OCLC Online Computer Library Center

PURLS

Using the LINK element in HTML documents to indicate a page's PURL

Date Modified: 2005-02-07

Definitions:
PURL
Persistent Uniform Resource Locator
LINK PURL
A URL in the HREF attribute of a LINK element with rel="purl"
ANCHOR PURL
A URL in the HREF attribute of an A element with a URI authority known to be a PURL server and that when resolved returns an HTTP 302 response.
REAL URL
The URL returned by a PURL server in an HTTP 302 response.

If a user bookmarks a page with a LINK PURL, the agent MUST save the the PURL as the URL to be resolved when the bookmark is selected. When a page with a LINK PURL is bookmarked, the REAL URL SHOULD be saved as well, but not as the URL to be resolved. If the agent does save the REAL URL, it MUST save the most recent REAL URL returned by the PURL server.

When an agent resolves an ANCHOR PURL, and there is no LINK PURL in the returned page, it SHOULD behave as though the ANCHOR PURL is a LINK PURL in the returned page.

In the diagram below, AP is an ANCHOR PURL in a webpage. Resolving AP returns an HTTP 302 response containing the REAL URL, R(AP). Resolving R(AP) returns a page containing a LINK PURL, LP. Resolving LP returns an HTTP 302 response containing R(LP).

If AP and LP are the same, then there are no conflicts. If AP and LP are different, but R(AP) and R(LP) are the same, then LP SHOULD be used by the agent for display and bookmarking. However, if R(AP) and R(LP) are different, then AP SHOULD be used for display and bookmarking.

Reasoning:
If R(AP) and R(LP) are the same, then two different PURLs resolve to a single REAL URL. The LP is in the page, and presumably selected by the author of the page, and should be used. If R(AP) and R(LP) are different, but R(AP) actually returned the page, then it can be assumed that LP is incorrect, and AP should be used.

LINK PURL Resolution Diagram

Valid HTML 4.01! Purl Friendly