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
6 января 2014 г., 16:04 пользователь Gena Makhomed <gmm@xxxxxxxxx> написал:
> On 06.01.2014 10:35, S.A.N wrote:
>
>> Есть uri
>> /user/bar
>> Отдает контент с заголовками
>> Cache-Control: private, max-age=0
если было бы "Cache-Control: private", вроде как было бы то же самое,
нет ? на 10 символов короче.
>> Это клиенское кеширования, с постояной ревалидацией на бекенде.
>> Даные заголовки запрещают Nginx кешировать страницу, никаких файл кеша в
>> Nginx не создаётся её кеширует только браузер, нам это и нужно на данном
>> uri.
>> По этому в нашем конфиге прописана передача от клиента к бекенду
>> заголовков
>> кеширования, чтобы бекенд мог ревалидировать кеш клиента.
>> Вот эти строки
>> 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;
>> Это работает отлично, но дело в том что эти строчки конфига ломают Nginx
>> кеширования, из-за них появляется баг с кешированием 304 статуса.
>>
>> Отключить Nginx кеширования тоже не можем потому что на других uri мы
>> используем Nginx кеширования, например uri
>> /news/list
>> Отдает контент с заголовками
>> Cache-Control: public, max-age=1
>> Эта страница должна попадать в кеш Nginx.
>
>
> там где нужен кеш - его можно включить.
> там где кеш не нужен - его можно выключить.
> в том числе и в контексте отдельных location`ов.
>
> http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#fastcgi_cache
>
> syntax: fastcgi_cache zone | off;
> default: fastcgi_cache off;
> context: http, server, location
>
> Defines a shared memory zone used for caching. The same zone can be used in
> several places. The off parameter disables caching inherited from the
> previous configuration level.
>
>
>> Нам надо что бы клиент и Nginx кеширования и клиент работали в рамках
>> одного
>> server{}, это возможно сделать?
>
>
> да.
>
> передавать на backend заголовки If-Modified-Since и If-None-Match
> или нет - это тоже можно настроить по разному для разных location`ов.
перечитал RFC, к числу hop-by-hop хедеров они не относятся,
получается, их надо всегда передавать на бекенд?
ну и такой вопрос, раз движок php, используете ли вы средства типа APC
и xdebug ?
а миллисекунды у вас неплохие.
>
> --
> Best regards,
> Gena
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|