ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bug ? 304 status - Cache-Control



On 08.01.2014 0:20, S.A.N wrote:

>> Кстати, похоже, что есть вариант еще проще, используя директиву
>> fastcgi_cache_bypass для запросов с If-Modified-Since и If-None-Match
>> и выставляя в ответе заголовок X-Accel-Expires: 0
>> если статус ответа backend`а будет 304.

Да, у меня крутился в голове вариант, использовать куки для fastcgi_no_cache.
Схема следующая, скрипт который отдает приватный кеш, будет отдавать куку с
path=$self_path, данная кука будет приходит только на данный uri, таким
образом её можно использовать для условия в fastcgi_no_cache для выключения
Nginx кеширования,

Директива fastcgi_no_cache не смотрит на куки клиентского запроса,
она смотрит на ответ backend`а и по этому ответу решает,
помещать его в кеш nginx или нет.

А если надо чтобы клиентский запрос уходил мимо кеша nginx
прямо на backend для этого есть совсем другая диркетива,
fastcgi_cache_bypass. Это же в документации все написано.

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

осталось только проверить, удаляет Nginx клиентские
заголовки если выполняется условия fastcgi_no_cache, если не удаляет, тогда
этот вариант выглядит лучше чем прописывать location в конфиге Nginx.

Для тех страниц, которые не надо сохранять в кеше nginx
- возвращать в ответе backend`а заголовок X-Accel-Expires: 0
и такой ответ не будет попадать в кеш nginx, вне зависимости
от того, что записано во всех остальных заголовках этого ответа.
В том числе и в заголовке ответа Cache-Control.

Чем такой простой и удобный вариант Вам не подходит, я не понимаю.

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.