Resolving DOI names through the proxy

DOI names are handles at the infrastructure level, and the proxy server is a web server that knows how to talk to the Handle System. For any HTTP request combining the proxy's domain name with a DOI name, such as https://doi.org/10.1000/demo_DOI, the proxy queries the Handle System, takes the URL in the handle record and sends an HTTP redirect to that URL to the user's browser. Where a handle record contains multiple URLs, one is selected in no particular order. Any standard browser encountering a DOI name in this URL form can resolve it.

  • DOI name doi:10.123/456 resolves from https://doi.org/10.123/456
  • Proxy queries the Handle System and issues an HTTP redirect
  • "DOI Name Not Found" error page shown when a DOI name cannot be found
  • Trailing-slash DOI names that are not found return an error report with a warning

Source: DOI® Resolution Documentation

Addresses and protocols

The preferred address for resolution is https://doi.org; the earlier dx.doi.org remains available but is no longer preferred. Both are accessible over IPv6 and support DNSSEC. The proxy servers respond to HTTPS, which is preferred, as well as to HTTP requests.

  • https://doi.org — preferred address
  • dx.doi.org — earlier, no longer preferred
  • IPv6 accessible
  • DNSSEC supported
  • HTTPS preferred, HTTP also answered

Source: DOI® Resolution Documentation

Multiple resolution and 10320/loc values

Some DOI names carry data in addition to the single default URL, referred to as multiple resolution. These added values are intended for advanced applications able to use several pieces of data, such as the location of enhanced metadata or related documents. Alongside handle values of type URL, the proxy understands values of handle value type 10320/loc, which contain XML describing multiple redirection endpoints and the conditions under which the proxy should use them. Further documentation is given in DOI Handbook Section 3.8.4.3.

Source: DOI® Resolution Documentation

Documentation, query parameters and REST API

The DOI Resolution Documentation factsheet covers resolving DOIs using the proxy server system, encoding DOIs for use in URIs, proxy server query parameters, identifying the Registration Agency, and the proxy server REST API. The REST API section documents example requests and responses, the response format and response codes. Handle values returned include index, type, data, ttl and timestamp fields, with the data value expressed according to formats such as string, base64, hex, admin, vlist or site. The same information, together with further material on the DOI Proxy Server System, resolution and numbering, appears in the DOI Handbook.

  • Response code 1: Success (HTTP 200 OK)
  • Response code 2: Error during handle resolution
  • Response code 100: Handle Not Found (HTTP 404)
  • Response code 200: Values Not Found
  • Mandatory and recommended character encoding tables for URIs

Source: DOI® Resolution Documentation

Infrastructure and Cloudflare

The doi.org resolver uses Cloudflare as a provider of authoritative DNS service and as a Content Distribution Network. The Cloudflare DNS resolver routes a request to a nearby edge node, which then contacts a geographically nearby doi.org backend server, improving response times and allowing backend servers to be distributed around the world. Edge nodes also redirect queries to other backend servers if the closest one is unreachable. Two side effects are noted: in exceptionally rare cases a user may be asked to pass a CAPTCHA challenge, and Cloudflare may store a cookie that holds no personally identifiable information.

  • Cloudflare provides authoritative DNS and CDN services
  • Requests routed to geographically nearby backend servers
  • Failover redirection to other backend servers
  • Fewer than one in a million requests results in a Cloudflare challenge
  • Email contact offered where Cloudflare interferes with automated resolution requests

Source: DOI® System and Cloudflare

Sources

Last verified 16 Sep 2026. This entry is compiled from the public web pages listed above. Nothing here is stated that those pages do not, and each of them was read on the date shown.