Для кэширование запросов при наличии версии или другого признака актуальности удобно использовать связку заголовков Cache-Control и ETag (If-None-Match). Подойдет любой признак актуальности, который меняется при обновлении информации. Допустим нам надо закэшировать информацию по справочным данным. У нас есть GET метод запроса справочника, в котором мы указываем имя справочника в качестве параметра. При этом мы знаем версию этого справочника на сервере (или можем легко получить из бд). Важно, что мы хотим контролировать когда нужно обновить кэшированные данные (момент когда данные и версия обновятся). И хотим сэкономить на передачи по сети повторяющихся данных. Что нужно для работы кэша? Схема работы кэша: Когда справочник поменяется, то поменяется и его версия. Когда сервер будет сравнить полученное значение в заголовке If-None-Match и новосформированный ETag, то увидит не соответствие и отправит новые данные, которые у себя обновит браузер. Можно также поиграться с настройками Cache-