о левых перегибах в proxy_cache_key
Igor Sysoev
igor на sysoev.ru
Вт Июн 8 13:27:37 MSD 2010
Товарищи!
На днях в рассылке я увидел чудовищную конструкцию:
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 сам удаляет эти и некоторые
другие заголовки.
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru