Field notes

3 / 4
A large HTTP representation compressed into a smaller transfer.

Compression changes the selected HTTP representation

Test compressed and uncompressed requests separately so caches and validators describe the bytes actually served.

June 29, 2026 · 2 min · XB Field Notes
A cache and origin exchanging validators beneath a freshness clock.

Cache headers are a contract with two clocks

Separate browser freshness from origin validation, then verify the response headers that implement both.

June 25, 2026 · 2 min · XB Field Notes
An HSTS policy increasing through staged max-age steps before covering subdomains.

HSTS should be rolled out with a recovery plan

HSTS is cached browser policy, so a configuration mistake can outlive the server change that created it.

June 23, 2026 · 2 min · XB Field Notes
GET and HEAD requests aligned to the same response metadata while only GET carries a body.

HEAD should describe the same representation as GET

HEAD is a metadata view of GET; status and representation headers should tell the same story.

June 22, 2026 · 2 min · XB Field Notes
DNS nodes surrounding a time-to-live cache dial.

DNS changes need a cache-aware rollback window

Prepare the TTL ahead of time, observe authoritative and recursive answers, and keep both endpoints valid through the cache window.

June 18, 2026 · 2 min · XB Field Notes
A DNS policy record authorizing one certificate authority while rejecting another.

CAA records should authorize the issuer you actually use

CAA narrows certificate issuance policy, but a mistaken record can block renewal as effectively as an expired certificate.

June 17, 2026 · 2 min · XB Field Notes
A browser cookie constrained by host, path, transport, and same-site boundaries.

Cookie scope should be narrower than the application boundary

A cookie sent to more hosts or paths than necessary enlarges the impact of every mistake at those boundaries.

June 15, 2026 · 2 min · XB Field Notes
A file representation passing through a media-type label before reaching a browser.

Content-Type should describe the bytes you actually send

A filename is only a hint; the response header is the browser-facing contract for the representation.

June 11, 2026 · 2 min · XB Field Notes