Separate API handling from caching-server handling
04RFC 6761 updates the reservation with layer-specific handling. A name-resolution API is the application-facing lookup interface; a caching server is a separate DNS role.
Separate app.localhost address-query case: the API follows the loopback recommendation. Other query types get negative responses. This models guidance, not an actual lookup or verified behavior of this browser.
Source for this drawing: RFC 2606 · Read RFC section 2 ↗
New to this? Start hereA quick picture + helpful background
A message needs an address.
Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.
Helpful first, if these ideas are unfamiliar
These pictures are analogies to help you learn. The linked RFC explains the actual rules.
Terms in this drawing
Related RFCs and changes
“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.
RFC 6761 formally updates RFC 2606 and records special-use names with separate user, application, API, caching, authoritative-server and registrar considerations. It does not add another TLD to the four-name list in RFC 2606.
Read the updated RFC section ↗For .test, APIs SHOULD use the configured caching server. Caching servers SHOULD generate immediate negative responses by default and SHOULD offer an option, disabled by default, for upstream private-test resolution; explicitly configured authoritative test data can be positive.
- For .test, APIs SHOULD use the configured caching server. Caching servers SHOULD generate immediate negative responses by default and SHOULD offer an option, disabled by default, for upstream private-test resolution; explicitly configured authoritative test data can be positive.
- For .invalid, APIs SHOULD return immediate negative responses and SHOULD NOT send queries to the configured cache. Caching servers SHOULD return immediate NXDOMAIN: the DNS response that says the name does not exist.
- For .localhost, APIs SHOULD return loopback addresses for IPv4/IPv6 address queries and negative responses for other types, and SHOULD NOT query the configured cache. Applications MAY recognize localhost names themselves. These are SHOULD/MAY statements, not invented universal MUSTs.
Updated guidance: RFC 6761 §§6.2–6.5. Users MAY assume .invalid yields NXDOMAIN, while the implementation rules quoted here retain SHOULD. Example domains have ordinary resolution handling rather than the .invalid or .localhost API shortcut. This is a bounded teaching model, not an exhaustive resolver implementation.
Read the RFC section ↗