- Apache
На сервері Apache включений mod_deflate.
1. Коли за допомогою php відправляється html сторінка і надсилається заголовок ETag - сервер віддає стислий gzip файл, але без ETag. При цьому Content-Length правильний і додається Vary: Accept-Encoding.
2. Коли за допомогою php відправляється сформований на льоту файл прикладного типу і надсилається заголовок Content-Length, сервер віддає стислий gzip файл, але без Content-Length. При цьому додаються Transfer-Encoding: chunked і Vary: Accept-Encoding. Це при тому, що статичні файли віддаються з правильним Content-Length.
3. Коли за допомогою php відправляється сформований на льоту файл прикладного типу частинами (у відповідь на запит з Range) і надсилається заголовок 206 Partial content, а також Content-Range і Content-Length - сервер взагалі нічого не стискає. Це при тому, що запитані частини статичного контенту відправляються стислими, з правильними Content-Range і Content-Length.
Без mod_deflate все працює коректно.
Остання проблема не критична, навряд чи часто будуть запитувати контент частинами. Але ось перші дві проблеми серйозні. Чи можна або їх вирішити або доведеться відключати mod_deflate для цих типів контенту?