Visual RFC.
ALL RFCs / RFC 9110
Read the RFC ↗
RFC 9110 / REQUEST DECISIONS

Validators & conditional requests

06

A validator lets a client ask whether cached content is current or whether an edit would overwrite a newer version.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

DIAGRAM§ 13 ↗
RFC 9110 · § 13EXAMPLE
4 / 4
Validators & conditional requestsA client validator revision-7 is compared with current revision-8; If-Match fails and a 412 response prevents a stale edit.Do not overwrite a newer editIllustrative conditional PUTClient copyETag: "revision-7"Current resourceETag: "revision-8"Conditional editIf-Match: "revision-7""revision-7" ≠ "revision-8"412 Precondition Failed · newer edit preservedReject the stale update
04
Protect a newer edit.

A stale condition fails instead of silently overwriting revision 8.

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
KEY POINT

Attach a precondition before reading or changing state.

  • If-None-Match can revalidate GET or HEAD; an unchanged representation can produce 304.
  • If-Match uses strong comparison and can prevent overwriting a changed representation.
  • Failed preconditions generally produce 412, with evaluation order defined in §13.2.
DETAILS

Weak validators can establish semantic equivalence for some uses; they do not prove byte-for-byte identity for every operation. A 304 has no response content.

Read the RFC section ↗

Diagrams simplify the RFC. Read the linked sections for complete requirements.

Privacy
All chapters in this RFC
  1. One meaning, many transports
  2. Targets, origins & intermediaries
  3. Fields, content & representations
  4. Methods & retry safety
  5. Content negotiation
  6. Validators & conditional requests
  7. Range requests
  8. Status codes & redirects
  9. Caches & revalidation
  10. Authentication, security & extensions

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗