Re: Bug – 304 status - Cache-Control

S.A.N nginx-forum at nginx.us
Fri Jan 3 07:31:28 UTC 2014


> Если файла в кеше нет - то откуда взялся ответ 304?

Ответ 304 появился, потому что клиент прислал HTTP_IF_NONE_MATCH, т.е
ревалидация была произведена по Etag, в нашем конфиге Nginx есть строка
fastcgi_param HTTP_IF_NONE_MATCH $http_if_none_match if_not_empty;
она нам нужна, потому что во многих местах используем только клиент
(private) кеширования на ETag.

Я понял в чем проблема, Nginx при отсутствии своего файл кеша, удаляет
хедеры
If-Modified-Since и If-None-Match
Мы в конфиге востонавливаем клиенский хедер If-None-Match и по нему
происходит ревалидации не в зависимости от наличия или отсутствия файла кеша
в Nginx, из-за это и проблемы.

Ок, как нам правильно поступить, клиенские хедеры If-None-Match нам нужны,
потому что по нему происходит ревалидация клиентского приватного кеша, если
его отключить тогда мы не сможем ревалидировать клиенский кеш по
If-None-Match.

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



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