Игорь, спасибо за указание на узкое место в статье. Я подправил текст <a href="http://dklab.ru/chicken/nablas/56.html">http://dklab.ru/chicken/nablas/56.html</a> в единственном месте:<br><br>===========================<br>

Я буду предполагать, что вы используете связку nginx+fastcgi_php. Если 
вы применяете nginx+apache+mod_php, просто замените имена директив с 
fastcgi_cache* на proxy_cache*, а также внесите изменения в следующие 
директивы (чтобы уменьшить объем кэша):
<pre>proxy_cache_key &quot;$request_method|$host|$request_uri&quot;;<br>proxy_set_header  If-Modified-Since  &quot;&quot;;<br>proxy_set_header  If-None-Match      &quot;&quot;;</pre>
Приведенный вариант работает во всех версиях nginx, начиная с 0.7.x 
(хотя в 0.8.31 и старше его можно упростить).
<br>===========================<br><br>Правильно ли я понял, что такой вариант является рабочим во всех версиях nginx (не только в 0.8.x, но и в популярной до сих пор 0.8.x), а также не обладает побочными эффектами?..<br>

<br><br><br><div class="gmail_quote">2010/6/8 Igor Sysoev <span dir="ltr">&lt;<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>&gt;</span><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div><div></div><div class="h5">On Tue, Jun 08, 2010 at 03:12:54PM +0400, SaveFrom.net wrote:<br>
<br>
&gt; Здравствуйте, Игорь.<br>
&gt;<br>
&gt;<br>
&gt; 8 июня 2010 г. 13:27 пользователь Igor Sysoev &lt;<a href="mailto:igor@sysoev.ru">igor@sysoev.ru</a>&gt; написал:<br>
&gt;<br>
&gt; &gt; Товарищи!<br>
&gt; &gt;<br>
&gt; &gt; На днях в рассылке я увидел чудовищную конструкцию:<br>
&gt; &gt;<br>
&gt; &gt; proxy_cache_key<br>
&gt; &gt; &quot;$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri&quot;;<br>
&gt; &gt;<br>
&gt; &gt; По всей видимости, её источник - <a href="http://dklab.ru/chicken/nablas/56.html" target="_blank">http://dklab.ru/chicken/nablas/56.html</a><br>
&gt; &gt; где она оправдано применяется в FastCGI. Но там же есть примечание:<br>
&gt; &gt; &quot;Если вы применяете nginx+apache+mod_php, просто замените имена<br>
&gt; &gt; директив с fastcgi_cache* на proxy_cache*.&quot;<br>
&gt; &gt;<br>
&gt; &gt; Добавлять $http_if_modified_since и $http_if_none_match в proxy_cache_key<br>
&gt; &gt; никогда, повторю, НИКОГДА, не было нужно. Их всегда можно было обнулить<br>
&gt; &gt; с помощью:<br>
&gt; &gt;<br>
&gt; &gt;      proxy_set_header  If-Modified-Since  &quot;&quot;;<br>
&gt; &gt;      proxy_set_header  If-None-Match      &quot;&quot;;<br>
&gt; &gt;<br>
&gt; &gt; Любители комбинаторики легко посчитают во сколько раз увеличивается<br>
&gt; &gt; размер кэша прииспользовани такого ключа.<br>
&gt; &gt;<br>
&gt; &gt; Начиная с 0.8.1,<br>
&gt; &gt;      proxy_set_header  If-Modified-Since  &quot;&quot;;<br>
&gt; &gt; писать не нужно. А начиная с 0.8.31, и<br>
&gt; &gt;      proxy_set_header  If-None-Match      &quot;&quot;;<br>
&gt; &gt;<br>
&gt; &gt; Начиная с 0.8.40, можно написать<br>
&gt; &gt;<br>
&gt; &gt;      fastcgi_param  HTTP_IF_MODIFIED_SINCE  &quot;&quot;;<br>
&gt; &gt;      fastcgi_param  HTTP_IF_NONE_MATCH      &quot;&quot;;<br>
&gt; &gt;<br>
&gt; &gt; но делать этого не нужно, так fastcgi_cache сам удаляет эти и некоторые<br>
&gt; &gt; другие заголовки.<br>
&gt; &gt;<br>
&gt; &gt; Т.е. получается что часть<br>
&gt; &quot;$request_method|$http_if_modified_since|$http_if_none_match|&quot; можно удалять<br>
&gt; при использывании fastcge_cache ? Проблем с отдачей верного контента при<br>
&gt; различных(get/head) методах запросов не будет?<br>
<br>
</div></div>Да, можно удалять. POSTы не кэшируется вообще, если не сказать<br>
      fastcgi_cache_methods  POST;<br>
HEAD кэширует ответ с телом, отдаёт - без.<br>
<br>
$request_uri я бы не рекомендовал использовать, лучше уже нормализованный<br>
вариант &quot;$uri?$args&quot;.<br>
<font color="#888888"><br>
<br>
--<br>
</font><div><div></div><div class="h5">Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
_______________________________________________<br>
nginx-ru mailing list<br>
<a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx-ru" target="_blank">http://nginx.org/mailman/listinfo/nginx-ru</a><br>
</div></div></blockquote></div><br>