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 and may occur more than once (a request may be addressed to multiple resolvers).
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.