В Apache mod_deflate удаляет ETag и Content-Length. Как исправить?
На сервере 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 для этих типов контента?