ПРОЕКТЫ 


  АРХИВ 


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]

Re: Вопрос Игорю



On Tue, Dec 15, 2009 at 12:15:03AM +0300, Peter Leonov wrote:

> On 14.12.2009, at 23:50, Дмитрий Андреев <itskemko@xxxxxxxxx> wrote:
> 
> > Вы имеете в виду какие-то архитектурные ограничения или логические?  
> > Если логические, то ничего подобного: вам в той ветке рассылки из ко 
> > торой вы копипастите резонно возразили, сказав что это можно вполне  
> > обойти, если начать выдавать заголовки уже после того, как контент с 
> > жался. Если архитектурные, то стоило бы так сразу и сказать
> >
> > 14 декабря 2009 г. 21:43 пользователь Andrew Sitnikov <sitnikov@xxxxxxxxxx 
> > > написал:
> > Hello ethaniel,
> >
> > e> - content-length к gzip модулю
> > Date: Sun, 13 Dec 2009 15:44:31 +0300
> > ------------------------
> > Я не Игорь, но отвечу:
> >
> > для выдачи Content-Length при сжатии необходимо знать результат
> > сжатия на этапе выдачи заголовков, т.е. до самого сжатия; так что
> > если принесёте машину времени - будет Content-Length, а во всех
> > остальных случаях ответ отрицательный.
> >
> > Maxim Dounin
> > ------------------------
> 
> Честно говоря, для таких случаев в HTTP 1.1 придумали чанки. Не то,  
> чтобы очень элегантно, но вполне работает.
> 
> Если вас смущает шестой ие (а он, наверняка, смущает) попросите энжи  
> не сжимать для него. Все равно он настолько медленно все делает, что  
> никто и не заметит ;)
> 
> А в принципе, можно научить модуль сжатия накапливать данные до какого- 
> то предела, и только потом переходить на чанки. Но это чисто  
> спортивное упражнение, в быту не пригодится :)

Накапливать gzip уже умеет сейчас с помощью "postpone_gzipping 64k",
но до конца это не отлажено - иногда фильтры подвисают при включении
большого ответа через SSI. Сделано это было для того, чтобы уменьшить
расход памяти. Если у нас есть SSI с относительно медленными удалёнными
включениями, то gzip-фильтр инициализирует zlib после получение первых
данных. При этом zlib выделяет около 400K, которые висят без дела, пока
не придут все SSI-вставки. С postpone_gzipping можно буферизировать без
сжатия заданное количество данных, и начинать сжатие только при превышении.


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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.