Hollowport Lab / gzip-compressed response

h1-gzip

gzip-compressed response

Responds 200 with Content-Encoding: gzip. The compressed bytes decode to a fixed, known plaintext (shown below verbatim). The Content-Length is the compressed byte count, not the plaintext length.

CLASS 2 — proves status / body / header semantics only. Does not prove origin transport, ALPN, or HTTP/2 multiplexing. This request terminates at a CDN edge, not at an origin server the Lab controls.

Run this test

Start capture, then open the test URL once.

https://hollowport.hevexa.net/lab/api/h1-gzip

What the server actually does

factvalue
status200
Content-Typetext/plain; charset=utf-8
Content-Encodinggzip
Cache-Controlno-store
VaryAccept-Encoding
X-Lab-Testh1-gzip

Response body, verbatim:

This body was gzip-compressed on the wire. A correct observer should retain the compressed bytes, decode them to exactly this text, and be clear about which representation is which.

wireEncoding: "gzip"
decodedRepresentationIsThisText: true

About intermediaries. This request also passes through Cloudflare's edge, which adds headers of its own — cf-ray, server: cloudflare, sometimes cf-cache-status. Those belong to the intermediary, not the origin. Seeing them in your observer's capture is expected; they are not a mismatch against the ground truth above. The Lab is teaching three separate things: what the authoritative server did, what your observer actually saw, and what an intermediary added or changed along the way.

Classify what your observer showed

For each fact above, pick the category that matches what your traffic tool actually displayed. This stays on your device — nothing is submitted.

Captured & represented — The observer got this right — captured, retained, and shown correctly.
Captured, not shown — The observer has the data but exposes no field or view for it.
Partial / lossy — Present but incomplete — e.g. a body kept only up to a cap, headers reconstructed rather than verbatim.
Not observed — Nothing in the observer's evidence corresponds to this.
Mismatch — The observer's value contradicts what the server actually did.
Unknown — Not enough visible in the observer to decide either way.

Worth noting

  • Distinct facts worth classifying separately: was the compressed byte stream retained, was it decoded correctly, and does the observer make the compressed-vs-decoded distinction visible rather than silently showing only one?

The ground truth above is what the server does, independent of any observer. If your tool showed less than this, that is a finding — not a problem with the test.