Re: Bug – 304 status - Cache-Control

S.A.N nginx-forum at nginx.us
Sat Jan 4 12:23:26 UTC 2014


> Тогда возвращаемся к ответу Максима. Все - то есть, абсолютно -
> параметры, от которых зависит или может зависеть ответ бекенда,
> должны быть включены в ключ кеша.

Я не понимаю, как добавления в ключ кеша хедера if_none_match, может решить
проблему, автоматического удаления из запроса к бекенду клиент хедеров
if_none_match и if_modified_since, вы же понимаете чтобы работать с
клиентским кешем бекенду нужны клиентские заголовки if_none_match и
if_modified_since, но Nginx их удаляет, если в папке Nginx Кеша нет файла по
этому ключу, данного файла там никогда не будет, потому что этот uri всегда
генерируется с Cache-Control: private.
Да мы можем в конфиге прописать
fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty;
fastcgi_param HTTP_IF_MODIFIED_SINCE $http_if_modified_since if_not_empty;
но тогда мы получим кеширования страницы в 304 статусе, если в момент
запроса в папке кеша Nginx не будет файлов кеша по этому ключу, но браузер
выслал правильные и актуальные заголовки и получил от бекенда статус 304,
Nginx благополучно положит этот ответ в свой файл кеш. Вот в чем дело и ключ
Кеша здесь не причем.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,245951,246021#msg-246021



Подробная информация о списке рассылки nginx-ru