Re: Bug – 304 status - Cache-Control

S.A.N nginx-forum at nginx.us
Sat Jan 4 04:25:38 UTC 2014


> Теперь все работает правильно, при клиент кешировании, мы в заголовок
> Cache-Control пишем дерективу private, это запретит Nginx кешировать
> данный ответ и таким образом он не попадет в кеш не при 200 статусе и
> так же ответ в 304 статусе в кеш не попадет.

Я поспешил с выводами, что проблема решена.
Для клиент (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 нет файлов, он сохраняет этот ответ в файл кеша.

Вопрос остаётся открытым, как сделать клиенское (private) кеширования в
браузере, но при этом не давать кешить 304 статус?

Как вариант, можно при 304 ответе отправлять хедер X-Accel-Expires: 0, чтобы
ответ не попал в кеш.

Есть более красивые решения этой проблемы?

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



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