II · 17
Resolver (res)
The Resolver entity names the service that should handle the request. Usually implicit in the base URL — but explicit when the source needs to point at a specific resolver.
The Resolver entity names the target of the OpenURL — the service that should process the ContextObject. In KEV form the prefix is res. The Resolver is optional. In the KEV format at most one Resolver may be described; the XML format allows several.
Implicit vs. explicit
In nearly every OpenURL emitted in practice, the Resolver is implicit: it is whatever resolver lives at the base URL of the OpenURL. An explicit Resolver entity is needed only in unusual scenarios:
- The request travels through a relay or directory, and the body of the request must indicate the final destination.
- The source wishes to suggest a resolver to a client (a browser extension, for example) that will then construct an HTTP request.
- The ContextObject is carried in a form other than an HTTP URL — for example, embedded in an XML document — and the URL of the target resolver must travel alongside it.
Example
res_id=https://resolver.example.edu/openurl
The identifier is the URL of the resolver. Descriptive metadata about the resolver is also permitted but rarely seen.