День добрый! Изучаю nginx, разбираюсь в кэшировании, имею browser + nginx reverse proxy + nginx web-server.
Допустим клиент сделал запрос, прокси перевел его на бэкенд, тот ответил и прокси отдал ответ клиенту. Допустим бэкенд проставил какие-то заголовки, связанные с кэшем, например: Cache-Control: no-cache (или) Cache-Control: max-age=100000 (или) Expires: 'Next Friday' Вопрос 1: следующий запрос клиента к этому ресурсу будет обработан с учетом этих заголовков? Вопрос 2: как nginx-proxy понимает что ресурс stale и его не надо отдавать клиенту, а надо спросить бэкенд? (кроме директивы proxy_cache_valid) Может ли он понять это из заголовков ответа бэкенда? Вопрос 3: может ли клиент заставить прокси закрузить свежую версию ресурса, которая еще не истекла согласно proxy_cache_valid? Я пробую играть с заголовками Cache-Control прокси и бэкенда, и насколько я могу судить, если ресурс закэшировался в прокси ничто не поможет мне получить его свежую версию кроме удаления кэша или истечения proxy_cache_valid. То есть "модель" кэша nginx reverse proxy это просто веб-сервер с контентом, равным тому, что удалось закэшировать, а что именно кэшировать определяется тем, не ставит ли бэкенд Cache-Control: no-cache или no-store; заголовки Expired, Cache-Control: max-age бэкенда не учитываются. Я правильно понимаю, или нет? Так работают все прокси, и squid, и разные публичные прокси в интернете? Изменить ли что-то, если nginx-proxy соединяется с клиентом по SSL? Posted at Nginx Forum: http://forum.nginx.org/read.php?21,243125,243125#msg-243125 _______________________________________________ nginx-ru mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-ru
