ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Re[2]: [apache-talk] Re[2]: [apache-talk] Дв ойной ответ Апача



On Tue, 23 Nov 2004, Михаил Монашёв wrote:

> IS> chunked - это такой способ передать конец ответа, когда его длина заранее
> IS> неизвестна. Применяется в keep-alive соединениях. Перед каждым куском
> IS> ответа сервер пишет его длину в шестнадцатеричном виде и делает перевод строки.
> IS> В конце каждого куска опять идёт перевод строки. Конец ответа - блок нулевого
> IS> рамера - "0\r\n\r\n".
>
> А это не тормозит оттргузку контента? Скажем ответ уместился бы в 2
> ip-пакета, а с чанками он поделилися на 4 части и отправился в 4
> пакетах. Или Чанки делат контент так, чтобы они точно в пакет влезали?

Если данные поступают в Апач мелкими порциями, то он буферизует их в 2К
буфере. При записи буфера в сокет формируется чанк. Если же порция
большая, то из неё делается один чанк и он сразу же уходит в сокет.
Это что касается Apache 1.3. Как сделано в 2.х - не знаю.

В nginx чанками занимается фильтр. Когда через него проходит порция
данных, он окружает её длиной и переводами строк. Если порция данных
больше postpone_output (по умолчанию 1460), то данные уходят в сокет,
если меньше, то ждёт, пока не накопится больше 1460.


Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.