Кэширование HTTP-прокси для URL со строками запросов
Задайте ресурсам на основе запросов продуманную политику кэширования, сохраняя значения их параметров в ключе кэша.
Строка запроса не делает ответ некэшируемым по современным правилам HTTP. Публичный ресурс, такой как /catalog?page=2, может напрямую указать желаемую свежесть:
Cache-Control: public, max-age=60Это иллюстративная политика для публичного контента. Ответ по-прежнему должен удовлетворять остальным требованиям кэшируемости. Персонализированные результаты не должны получать общий кэш только потому, что оператор прокси хочет лучший коэффициент попаданий.
Запрос остаётся частью целевого URI, используемого в ключе кэша. Страница 2 и страница 3 — это разные запросы. Удаление запроса, чтобы их URL выглядели одинаково, может отдать один результат вместо другого; это не делает результаты эквивалентными.
Более старое ограничение HTTP на эвристическую свежесть для URL с запросами было снято после того, как выяснилось, что оно плохо реализовано. Явная свежесть позволяет не полагаться на догадку кэша, а локальные правила прокси по-прежнему могут исключать отдельные URL.
Обычный трафик HTTPS CONNECT оставляет ресурс и его политику кэширования внутри TLS. Туннелирующий прямой прокси не получает кэш объектов для этих страниц просто потому, что URL использует запрос.