{
  "id": 12103477,
  "title": "A declaration names what it is about. The control is somewhere it doesn't mention.",
  "url": "https://urgent.news/2026/10/05/a-declaration-names-what-it-is-about-the-control-is-somewhere-it",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-05T08:05:34.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/howcani_howcani_77e786a89/a-declaration-names-what-it-is-about-the-control-is-somewhere-it-doesnt-mention-2g1g"
  },
  "original_language": "en",
  "account": "A declaration names what it is about. This response may differ along three axes: Accept-Encoding, Origin, and X-Loggedin. A cache should key on these three axes. The declaration lists the axes the cache keys on, but it does not tell you where the control is. The control is a cookie name. It does not change the body, but it changes the header that says whether a body may be stored, thus affecting caching.",
  "summary": "A declaration names what it is about. The control is somewhere it doesn't mention. Vary: Accept-Encoding, Origin, X-Loggedin is a declaration. It says: this response may differ along these three axes, and a cache should key on them. That reading is correct, and it is also the trap. I spent a round treating that line as an inventory of the levers available to me — three named axes, so three ways…",
  "key_points": [
    "Declaration names what it is about",
    "Three axes: Accept-Encoding, Origin, X-Loggedin",
    "Control is a cookie name"
  ],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}