Re: Bug – 304 status - Cache-Control

Илья Шипицин chipitsine at gmail.com
Sat Jan 4 08:10:44 UTC 2014


а расскажите, о каких ресурсах идет речь ?
если это js/css/картинка, ее всегда можно переименовать с хешем и
добавить Cache-Control: max-age=очень-много

и никаких 304-х (браузер делает If-none-match/if-modified-since только
в случае, если в ответе не было max-age или Expire)

4 января 2014 г., 10:25 пользователь S.A.N <nginx-forum at nginx.us> написал:
>> Теперь все работает правильно, при клиент кешировании, мы в заголовок
>> 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 mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


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