ПРОЕКТЫ 


  АРХИВ 


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: о левых перегибах в proxy_ca che_key



On Tue, Jun 08, 2010 at 03:12:54PM +0400, SaveFrom.net wrote:

> Здравствуйте, Игорь.
> 
> 
> 8 июня 2010 г. 13:27 пользователь Igor Sysoev <igor@xxxxxxxxx> написал:
> 
> > Товарищи!
> >
> > На днях в рассылке я увидел чудовищную конструкцию:
> >
> > proxy_cache_key
> > "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";
> >
> > По всей видимости, её источник - http://dklab.ru/chicken/nablas/56.html
> > где она оправдано применяется в FastCGI. Но там же есть примечание:
> > "Если вы применяете nginx+apache+mod_php, просто замените имена
> > директив с fastcgi_cache* на proxy_cache*."
> >
> > Добавлять $http_if_modified_since и $http_if_none_match в proxy_cache_key
> > никогда, повторю, НИКОГДА, не было нужно. Их всегда можно было обнулить
> > с помощью:
> >
> >      proxy_set_header  If-Modified-Since  "";
> >      proxy_set_header  If-None-Match      "";
> >
> > Любители комбинаторики легко посчитают во сколько раз увеличивается
> > размер кэша прииспользовани такого ключа.
> >
> > Начиная с 0.8.1,
> >      proxy_set_header  If-Modified-Since  "";
> > писать не нужно. А начиная с 0.8.31, и
> >      proxy_set_header  If-None-Match      "";
> >
> > Начиная с 0.8.40, можно написать
> >
> >      fastcgi_param  HTTP_IF_MODIFIED_SINCE  "";
> >      fastcgi_param  HTTP_IF_NONE_MATCH      "";
> >
> > но делать этого не нужно, так fastcgi_cache сам удаляет эти и некоторые
> > другие заголовки.
> >
> > Т.е. получается что часть
> "$request_method|$http_if_modified_since|$http_if_none_match|" можно удалять
> при использывании fastcge_cache ? Проблем с отдачей верного контента при
> различных(get/head) методах запросов не будет?

Да, можно удалять. POSTы не кэшируется вообще, если не сказать
      fastcgi_cache_methods  POST;
HEAD кэширует ответ с телом, отдаёт - без.

$request_uri я бы не рекомендовал использовать, лучше уже нормализованный
вариант "$uri?$args".


-- 
Игорь Сысоев
http://sysoev.ru

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


 




Copyright © Lexa Software, 1996-2009.