TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.7K subscribers
Post #2544 1.29K
Клиентское кэширование в HTTP работает так

Сервер может отдавать два типа ресурсов — статические и динамические. Статические данные не меняются между запросами, поэтому их можно кэшировать на стороне клиента с помощью специальных HTTP-заголовков.

Когда клиент впервые делает GET-запрос к ресурсу, локальный кэш проверяет его наличие. Если ресурса нет, запрос уходит на сервер. Сервер в ответе указывает, что данные можно закэшировать -> заголовок Cache-Control задаёт время жизни ресурса, а ETag определяет его конкретную версию. Кэш сохраняет ответ и возвращает его клиенту.

При повторном запросе, если ресурс ещё актуален, кэш сразу отдаёт его клиенту, минуя сервер. Однако сервер может обновить ресурс до истечения срока жизни в кеше, поэтому данные в кеше и на сервере не всегда строго согласованы. Обычно это приемлемо, а чтобы гарантировать обновление, сервер просто меняет версию ресурса.

Если ресурс в кеше устарел, кэш отправляет новый запрос на сервер с условным заголовком, например If-None-Match, где указывает сохранённую версию. Если сервер имеет новую версию, он возвращает её. Если изменений не было, он отвечает кодом 304 Not Modified, и клиент продолжает использовать локальные данные.

👉 Java Portal
  • 👍 2
More from @java_iibrary
  1. Sep 21, 2026💡 Java/Spring: отдавайте предпочтение constructor injection вместо @Autowired для полей.…
  2. Sep 20, 2026Если бы пришлось заново начинать свой путь в Java в 2026 году, я бы придерживался такого r…
  3. Sep 20, 2026Вайбкодим «Полный путь разработки AI-агентов: от MCP до Agentic RAG» Образовательная прогр…
  4. Sep 20, 2026💡 Java: сортируйте с помощью Comparator.comparing() и забудьте про громоздкий compare() ✅…
  5. Sep 19, 202699% Java-разработчиков хотя бы раз допускали эту ошибку. Всё работает... пока однажды не п…
  6. Sep 19, 2026💡 Java: форматируйте код одинаково каждый раз ✅ Выберите единый code style и придерживайт…
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 →