{
    "api": "YAML JSON TOON Database",
    "version": "1.0.0",
    "format": "json",
    "dataset": {
        "id": 1580,
        "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\u2019s update."
        ],
        "caveats": [
            "A 304 response has no representation body.",
            "Validators identify a selected representation, including negotiated variants."
        ],
        "related": [
            "http-cache-directives",
            "http-methods-reference"
        ],
        "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\u2026"
            }
        ],
        "category": "HTTP Status Codes",
        "category_slug": "http-status-codes",
        "tags": "http-status-codes,http conditional requests,reference,engineering",
        "view_count": 6,
        "created_at": 1791798640,
        "updated_at": 1791798640
    },
    "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."
        }
    ]
}