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