gzip-сжатие ответа с фрагментированной кодировкой?

Я пытаюсь заставить свой веб-сервер правильно сжать HTTP-ответ, который является кодировкой фрагментов.

Насколько я понимаю, ответ не-gzip выглядит так:

<the response headers>

, а затем для каждого фрагмента,

<chunk length in hex>\r\n<chunk>\r\n

и, наконец, фрагмент нулевой длины:

0\r\n\r\n

Я попытался заставить работать сжатие gzip, и мне нужна помощь, чтобы выяснить, что на самом деле должно быть возвращено. Эта документация подразумевает, что весь ответ должен быть сжат с помощью gzip, а не каждого фрагмента:

HTTP servers sometimes use compression (gzip) or deflate methods to optimize transmission.
Chunked transfer encoding can be used to delimit parts of the compressed object.
In this case the chunks are not individually compressed. Instead, the complete payload 
is compressed and the output of the compression process is chunk encoded.

Я попытался сжать все содержимое с помощью gzip и вернуть ответ даже без фрагментов, и это не сработало. Я попытался установить заголовок Content-Encoding на «gzip». Может кто-нибудь объяснить, какие изменения необходимо внести в приведенную выше схему для поддержки сжатия фрагментов? Спасибо.

33
задан Heinrich Schmetterling 12 March 2011 в 04:49
поделиться