{
  "log": {
    "version": "1.2",
    "creator": {
      "name": "httpd 2.4.68 etag/content-encoding study",
      "version": "1.0"
    },
    "pages": [
      {
        "startedDateTime": "2026-09-09T02:44:50.000Z",
        "id": "page_1",
        "title": "AFTER the fix \u2014 DeflateAlterETag NoChange",
        "pageTimings": {
          "onContentLoad": 40,
          "onLoad": 60
        }
      }
    ],
    "entries": [
      {
        "_comment": "identity 200 \u2014 the unencoded representation. ETag: \"13b-658b017f9d000\".",
        "startedDateTime": "2026-09-09T02:44:50.000Z",
        "time": 11,
        "request": {
          "method": "GET",
          "url": "http://localhost:18080/plain/big.txt",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Host",
              "value": "localhost:18080"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Apache ETag study \u2014 see https://amoshydra.github.io/blog/)"
            }
          ],
          "queryString": [],
          "cookies": [],
          "headersSize": -1,
          "bodySize": 0
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Date",
              "value": "Wed, 09 Sep 2026 12:46:00 GMT"
            },
            {
              "name": "Server",
              "value": "Apache/2.4.68 (Unix)"
            },
            {
              "name": "Last-Modified",
              "value": "Mon, 10 Aug 2026 12:00:00 GMT"
            },
            {
              "name": "ETag",
              "value": "\"13b-658b017f9d000\""
            },
            {
              "name": "Accept-Ranges",
              "value": "bytes"
            },
            {
              "name": "Content-Length",
              "value": "315"
            },
            {
              "name": "Vary",
              "value": "Accept-Encoding"
            },
            {
              "name": "Content-Type",
              "value": "text/plain"
            }
          ],
          "cookies": [],
          "content": {
            "size": 315,
            "mimeType": "text/plain",
            "text": "The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog. "
          },
          "redirectURL": "",
          "headersSize": 251,
          "bodySize": 315,
          "_transferSize": 566
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "send": 1,
          "wait": 8,
          "receive": 2,
          "ssl": 0
        },
        "serverIPAddress": "127.0.0.1",
        "connection": "1"
      },
      {
        "_comment": "gzip 200 \u2014 with DeflateAlterETag NoChange the gzip body keeps the SAME ETag \"13b-658b017f9d000\" (no -gzip suffix). Vary and Content-Encoding are still present.",
        "startedDateTime": "2026-09-09T02:44:50.200Z",
        "time": 13,
        "request": {
          "method": "GET",
          "url": "http://localhost:18080/plain/big.txt",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Host",
              "value": "localhost:18080"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Apache ETag study \u2014 see https://amoshydra.github.io/blog/)"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip"
            }
          ],
          "queryString": [],
          "cookies": [],
          "headersSize": -1,
          "bodySize": 0
        },
        "response": {
          "status": 200,
          "statusText": "OK",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Date",
              "value": "Wed, 09 Sep 2026 12:46:00 GMT"
            },
            {
              "name": "Server",
              "value": "Apache/2.4.68 (Unix)"
            },
            {
              "name": "Last-Modified",
              "value": "Mon, 10 Aug 2026 12:00:00 GMT"
            },
            {
              "name": "ETag",
              "value": "\"13b-658b017f9d000\""
            },
            {
              "name": "Accept-Ranges",
              "value": "bytes"
            },
            {
              "name": "Vary",
              "value": "Accept-Encoding"
            },
            {
              "name": "Content-Encoding",
              "value": "gzip"
            },
            {
              "name": "Content-Length",
              "value": "69"
            },
            {
              "name": "Content-Type",
              "value": "text/plain"
            }
          ],
          "cookies": [],
          "content": {
            "size": 69,
            "mimeType": "application/octet-stream",
            "text": "H4sIAAAAAAAAAwvJSFUoLM1MzlZIKsovz1NIy69QyCrNLShWyC9LLVIoAUrnJFZVKqTkp+sphIwqRlIMAA7EP2U7AQAA",
            "encoding": "base64"
          },
          "redirectURL": "",
          "headersSize": 274,
          "bodySize": 69,
          "_transferSize": 343
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "send": 1,
          "wait": 10,
          "receive": 2,
          "ssl": 0
        },
        "serverIPAddress": "127.0.0.1",
        "connection": "2"
      },
      {
        "_comment": "FIXED \u2014 the client revalidates with the tag it was given (\"13b-658b017f9d000\"); it now matches, so Apache answers 304 Not Modified and sends no body. (The 304 still omits Vary/Content-Encoding, but that is now harmless because the ETag matches.)",
        "startedDateTime": "2026-09-09T02:44:50.400Z",
        "time": 15,
        "request": {
          "method": "GET",
          "url": "http://localhost:18080/plain/big.txt",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Host",
              "value": "localhost:18080"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Apache ETag study \u2014 see https://amoshydra.github.io/blog/)"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip"
            },
            {
              "name": "If-None-Match",
              "value": "\"13b-658b017f9d000\""
            }
          ],
          "queryString": [],
          "cookies": [],
          "headersSize": -1,
          "bodySize": 0
        },
        "response": {
          "status": 304,
          "statusText": "Not Modified",
          "httpVersion": "HTTP/1.1",
          "headers": [
            {
              "name": "Date",
              "value": "Wed, 09 Sep 2026 12:46:00 GMT"
            },
            {
              "name": "Server",
              "value": "Apache/2.4.68 (Unix)"
            },
            {
              "name": "Last-Modified",
              "value": "Mon, 10 Aug 2026 12:00:00 GMT"
            },
            {
              "name": "ETag",
              "value": "\"13b-658b017f9d000\""
            },
            {
              "name": "Accept-Ranges",
              "value": "bytes"
            }
          ],
          "cookies": [],
          "content": {
            "size": 0,
            "mimeType": "text/plain",
            "text": ""
          },
          "redirectURL": "",
          "headersSize": 191,
          "bodySize": 0,
          "_transferSize": 191
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "send": 1,
          "wait": 12,
          "receive": 2,
          "ssl": 0
        },
        "serverIPAddress": "127.0.0.1",
        "connection": "3"
      }
    ]
  }
}