а расскажите, о каких ресурсах идет речь ? если это js/css/картинка, ее всегда можно переименовать с хешем и добавить Cache-Control: max-age=очень-много
и никаких 304-х (браузер делает If-none-match/if-modified-since только в случае, если в ответе не было max-age или Expire) 4 января 2014 г., 10:25 пользователь S.A.N <nginx-fo...@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@nginx.org > http://mailman.nginx.org/mailman/listinfo/nginx-ru _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru