TGViewer
GetAnalyst - Навыки • Системный анализ • Бизнес-анализ GetAnalyst - Навыки • Системный анализ • Бизнес-анализ @getanalysts · 22.5K subscribers
Post #3540 3.59K
🔴 "no-cache" не означает «не кэшировать»: 4 директивы заголовка Cache-Control, которые важно различать 🔴

Посмотрите на заголовок (header):

Cache-Control: no-cache


Кажется, что ответ нельзя сохранить в кэше.

Но на самом деле no-cache означает другое.



Разбираемся подробно, чем отличаются основные директивы Cache-Control 👇



1️⃣ no-cache
Сохранить можно, использовать без проверки нельзя.

Cache-Control: no-cache
ETag: "product-v7"


Клиент может сохранить ответ.
Но при следующем обращении он должен спросить у сервера «Версия product-v7 всё ещё актуальна?»

Если данные не изменились, сервер вернёт:

304 Not Modified


И клиент использует сохранённый ответ.


2️⃣ no-store
Сохранять нельзя вообще.

Cache-Control: no-store


Запрос и ответ не должны сохраняться в HTTP-кэше.

Обычно используется для чувствительных данных:
▫️ токенов
▫️ одноразовых кодов
▫️ платёжной информации
▫️ результатов аутентификации


3️⃣ private
Хранить можно только в персональном кэше.

Cache-Control: private, max-age=60


Ответ может сохранить браузер конкретного пользователя.

Но общий кэш — например, CDN или Proxy — не должен сохранять его для других клиентов.

Подходит для персонализированных данных:

GET /profile
GET /orders
GET /recommendations



4️⃣ public
Ответ можно хранить в общем кэше

Cache-Control: public, max-age=300


Ответ могут сохранять не только браузеры, но и общие кэши:
▫️ CDN
▫️ Reverse Proxy
▫️ API Gateway

Подходит для публичных данных:
▫️ справочников
▫️ статей
▫️ общего каталога
▫️ публичной конфигурации



Что должен определить системный аналитик
при разработке требований к кэшу, чтобы Cache-Control помогал, а не вредил системе:
:
✅ можно ли вообще сохранять ответ
✅ допустим ли кэш только на устройстве пользователя
✅ можно ли использовать общий кэш
✅ нужна ли проверка актуальности перед использованием
✅ содержит ли ответ персональные или чувствительные данные


Cache-Control определяет не только скорость работы API.
От него зависят актуальность и безопасность данных 👌

#RestApiGA
  • 👍 24
  • ❤ 9
More from @getanalysts
  1. Sep 28, 2026⌛️ Webhook, SSE, WebSocket, polling или worker: что выбрать для долгой операции? ⌛️ Возьмё…
  2. Sep 27, 2026Уже завтра на самолёт в Сан-Франциско, чтобы пообщаться с коллегами из OpenAI, Anthropic и…
  3. Sep 25, 2026🔥❤️‍🔥🎉 Вау-вау-вау! Вот это мы отметили! 4 часа практики, море вопросов, десятки схем и…
  4. Sep 24, 2026😂👍👍❤️👌😅😊😊😍😘 ❗️До начала 15 минут❗️ 🧡 «Асинхронная интеграция с ИИ-сервисом: от а…
  5. Sep 24, 2026❗️Уже через 3 часа встречаемся онлайн❗️ 👩‍💻 Открытый практикум с Екатериной Ананьевой 🔥…
  6. Sep 24, 2026Пусть хотя бы сегодня всё пойдёт по happy path 🎉🙏🩷 Сегодня праздник у людей, которые сл…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →