ПРОЕКТЫ 


  АРХИВ 


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]

Cтранное поведение ssi в keep-alive режиме



Добрый день,

Конфигурация:

location / {
  root   html;
  index  index.html;
  ssi on;
  gzip off;
}

location /mod/ { # Модуль-handler, который отдает html в виде строки "aaaaaaaaaaaaaaaaaaa".
   mod_enable;
   gzip off;
}
--------------------------------------
index.html:

<html>
<body>
<h4>Test</h4>
<!--#include virtual="/rb/3454" -->
<hr>
<!--#include virtual="/rb/3971" -->
<hr>
<!--#include virtual="/rb/3969" -->
<hr>
<!--#include virtual="/rb/3947" -->
<hr>
<!--#include virtual="/rb/3975" -->
<hr>
<!--#include virtual="/rb/3966" -->
</body>
</html>

Когда браузер посылает нечто подобное:

"GET / ...."
"Host: vento.mail.ru:8800"
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4" "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"
"Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"
"Accept-Encoding: gzip,deflate"
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7"
"Keep-Alive: 300"
"Connection: keep-alive"

То в ответ такой:

HTTP/1.1 200 OK
Server: nginx/0.5.28
Date: Wed, 18 Jul 2007 14:00:33 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive

* * *

Причем, подстановка ssi работает очень странно,
первый запрос может вывести только:
<html>
<body>
<h4>Test</h4>
aaaaaaaaaaaaaaaaaaaaaaaaa
а второй:
<html>
<body>
11

<hr>
19
aaaaaaaaaaaaaaaaaaaaaaaaa
0

11
<hr>
19
aaaaaaaaaaaaaaaaaaaaaaaaa
0

11
<hr>
19
aaaaaaaaaaaaaaaaaaaaaaaaa
0

11
<hr>
19
aaaaaaaaaaaaaaaaaaaaaaaaa
0

11
<hr>
19
aaaaaaaaaaaaaaaaaaaaaaaaa
0

19
0
</body>
</html>

Далее, просто повторяются эти два варианта.

Зачем там вообще включается режим "Transfer-Encoding: chunked" ?

Да, если подключаться wget-ом, то все работает правильно,
причем он отвечает так:

HTTP/1.1 200 OK
Server: nginx/0.5.28
Date: Wed, 18 Jul 2007 14:00:33 GMT
Content-Type: text/html
Connection: close

* * *







 




Copyright © Lexa Software, 1996-2009.