parlov docs

304 vs 404 — Conditional Retrieval

A conditional GET or HEAD using If-None-Match or If-Modified-Since reaches validator evaluation for an existing target.

Implemented

A conditional GET or HEAD using If-None-Match or If-Modified-Since reaches validator evaluation for an existing target. The server identifies the selected representation, evaluates the condition, and returns 304 Not Modified when the condition evaluates false. A nonexistent target terminates at 404 before reaching conditional retrieval semantics.

  • What leaks: 304 confirms the target has a current selected representation that the server evaluated against the supplied validator. If-None-Match provides the strongest normative path — RFC 9110 mandates 304 for GET/HEAD when the condition evaluates false (MUST-level). If-Modified-Since is weaker (SHOULD-level). The 304 response carries no body, making it bandwidth-efficient for enumeration.