Cтранное поведение ssi в keep-alive режиме
Igor Sysoev
is at rambler-co.ru
Wed Jul 18 18:57:32 MSD 2007
On Wed, Jul 18, 2007 at 06:51:42PM +0400, Igor Sysoev wrote:
> On Wed, Jul 18, 2007 at 06:26:46PM +0400, Denis Erygin wrote:
>
> > Конфигурация:
> >
> > 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" ?
>
> Потому что это HTTP/1.1+keep-alive.
... без Content-Length.
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list