Попробовав и не сумев получить ручную реализацию фрагментированного Transfer-Encoding с gzip Content-Encoding, работающим в PHP, я теперь вернулся к использованию mod_deflate в Apache, который отлично справляется со своей задачей.
Единственная проблема в том, что есть некоторые нижние колонтитулы, которые я хотел бы отправить вместе с ответом (скажем, Last-Modified или ETag, поэтому я могу 304 запроса для одного и того же контента). Спецификация HTTP 1.1 предусматривает нижние колонтитулы (так же, как и заголовки, только они идут последними) в ответах на фрагменты, но PHP, похоже, не предлагает эту функциональность.
Возможный?
(Ручная реализация была отличной, за исключением того, что я не являюсь мастером gzip, а различные функции zlib, предоставляемые PHP, не включают ту, которая создает действительные gzip-фрагменты. Мне удалось заставить ее работать примерно в 50% случаев, но остальные 50% сломался бы. Дох!)