ПРОЕКТЫ 


  АРХИВ 


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]

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


  • To: nginx-ru@xxxxxxxxx
  • Subject: патчи, добавляющие expir es в 304-ые ответы
  • From: Igor Sysoev <is@xxxxxxxxxxxxx>
  • Date: Wed, 19 Oct 2005 17:00:27 +0400 (MSD)


В 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
--- 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);
     }
 
--- 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);
     }
 
--- 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);
     }
 
--- 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);
     }
 


 




Copyright © Lexa Software, 1996-2009.