api: YAML JSON TOON Database
version: 1.0.0
format: json
dataset:
  id: 1002
  slug: http-conditional-requests
  title: HTTP Conditional Requests and Validators
  description: Conditional request headers, comparison rules, and response outcomes for safe caching and lost-update protection.
  summary: Conditional request headers, comparison rules, and response outcomes for safe caching and lost-update protection. Each row includes a practical application and a failure to check before using it.
  use_when:
    - Avoid downloading unchanged reference files.
    - Prevent an edit from overwriting someone else’s update.
  caveats:
    - A 304 response has no representation body.
    - Validators identify a selected representation, including negotiated variants.
  related:
    - http-cache-directives
    - http-methods-reference
  category: HTTP Status Codes
  category_slug: http-status-codes
  tags: http-status-codes,http conditional requests,reference,engineering
  view_count: 0
  created_at: 1791798640
  updated_at: 1791798640
  reviewed_at: "2026-10-12"
  sources:
    - title: IETF HTTP semantics
      url: "https://httpwg.org/specs/rfc9110.html"
    - title: IETF HTTP caching
      url: "https://httpwg.org/specs/rfc9111.html"
  reading:
    - http-caching-with-etags-and-cache-control
  provenance: Original editorial reference notes by YJTOON, informed by the linked primary documentation. External specifications retain their own licenses.
  entry_count: 8
  fields:
    - section: data
      field: header
      type: string
      example: ETag
    - section: data
      field: example
      type: string
      example: "ETag: \"revision-7\""
    - section: data
      field: purpose
      type: string
      example: Identify a selected representation.
    - section: data
      field: check
      type: string
      example: The value is opaque; clients must not construct…
data:
  - header: ETag
    example: "ETag: \"revision-7\""
    purpose: Identify a selected representation.
    check: The value is opaque; clients must not construct it.
  - header: Last-Modified
    example: "Last-Modified: Mon, 12 Oct 2026 08:00:00 GMT"
    purpose: Expose a modification timestamp.
    check: Second-level precision may miss rapid edits.
  - header: If-None-Match
    example: "If-None-Match: \"revision-7\""
    purpose: Validate a cached representation.
    check: Matching GET or HEAD produces 304; other methods can produce 412.
  - header: If-Modified-Since
    example: "If-Modified-Since: Mon, 12 Oct 2026 08:00:00 GMT"
    purpose: Validate using a date.
    check: If-None-Match takes precedence when both are present.
  - header: If-Match
    example: "If-Match: \"revision-7\""
    purpose: Apply a write only to the expected revision.
    check: Use strong entity-tag comparison; mismatch produces 412.
  - header: If-Unmodified-Since
    example: "If-Unmodified-Since: Mon, 12 Oct 2026 08:00:00 GMT"
    purpose: Protect a write with a timestamp.
    check: If-Match takes precedence; timestamps are less precise.
  - header: If-Range
    example: "If-Range: \"revision-7\""
    purpose: Resume a range only if the representation is unchanged.
    check: A mismatch sends the whole representation instead.
  - header: Weak ETag
    example: "ETag: W/\"summary-7\""
    purpose: Mark semantic equivalence without byte identity.
    check: A weak validator cannot satisfy strong If-Match comparison.
