ПРОЕКТЫ 


  АРХИВ 


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



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


 




Copyright © Lexa Software, 1996-2009.