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