патчи, добавляющие expires в 304-ые ответы

Igor Sysoev is at rambler-co.ru
Wed Oct 19 17:00:27 MSD 2005


В 0.2.0 появилось такое исправление:

     *) Исправление: в ответах 304 не добавлялись строки заголовка ответа
        "Expires" и "Cache-Control". Спасибо Александру Кукушкину.

которое уменьшает число keep-alive соединений и запросов на серверах,
раздающих картинки. Если апгрэйд до последних версий по каким-либо
причинам нежелателен, то можно вопользоваться прилагаемыми патчами.

patch-0.1.43.expires.304.txt - для версий 0.1.43 - 0.1.45.
patch-0.1.29.expires.304.txt - для версий 0.1.29 - 0.1.42.
patch-0.1.25.expires.304.txt - для версий 0.1.25 - 0.1.26.
patch-0.1.0.expires.304.txt - для версий 0.1.0 - 0.1.24.


Игорь Сысоев
http://sysoev.ru
-------------- next part --------------
--- src/http/modules/ngx_http_headers_filter.c	Thu Sep  8 11:44:52 2005
+++ src/http/modules/ngx_http_headers_filter.c	Mon Sep 19 13:28:21 2005
@@ -72,7 +72,10 @@
     ngx_table_elt_t          *expires, *cc;
     ngx_http_headers_conf_t  *conf;
 
-    if (r->headers_out.status != NGX_HTTP_OK) {
+    if ((r->headers_out.status != NGX_HTTP_OK
+         && r->headers_out.status != NGX_HTTP_NOT_MODIFIED)
+        || r->main)
+    {
         return ngx_http_next_header_filter(r);
     }
 
-------------- next part --------------
--- src/http/modules/ngx_http_headers_filter_module.c	Thu Sep  8 11:44:52 2005
+++ src/http/modules/ngx_http_headers_filter_module.c	Mon Sep 19 13:28:21 2005
@@ -74,7 +74,10 @@
     ngx_table_elt_t          *expires, *cc;
     ngx_http_headers_conf_t  *conf;
 
-    if (r->headers_out.status != NGX_HTTP_OK) {
+    if ((r->headers_out.status != NGX_HTTP_OK
+         && r->headers_out.status != NGX_HTTP_NOT_MODIFIED)
+        || r->main)
+    {
         return ngx_http_next_header_filter(r);
     }
 
-------------- next part --------------
--- src/http/modules/ngx_http_headers_filter_module.c	Thu Sep  8 11:44:52 2005
+++ src/http/modules/ngx_http_headers_filter_module.c	Mon Sep 19 13:28:21 2005
@@ -76,7 +76,10 @@
     ngx_table_elt_t          *expires, *cc;
     ngx_http_headers_conf_t  *conf;
 
-    if (r->headers_out.status != NGX_HTTP_OK || r->main) {
+    if ((r->headers_out.status != NGX_HTTP_OK
+         && r->headers_out.status != NGX_HTTP_NOT_MODIFIED)
+        || r->main)
+    {
         return ngx_http_next_header_filter(r);
     }
 
-------------- next part --------------
--- src/http/modules/ngx_http_headers_filter_module.c	Thu Sep  8 11:44:52 2005
+++ src/http/modules/ngx_http_headers_filter_module.c	Mon Sep 19 13:28:21 2005
@@ -76,7 +76,10 @@
     ngx_table_elt_t          *expires, *cc, **ccp;
     ngx_http_headers_conf_t  *conf;
 
-    if (r->headers_out.status != NGX_HTTP_OK || r->main) {
+    if ((r->headers_out.status != NGX_HTTP_OK
+         && r->headers_out.status != NGX_HTTP_NOT_MODIFIED)
+        || r->main)
+    {
         return ngx_http_next_header_filter(r);
     }
 


More information about the nginx-ru mailing list