В 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 для этих типов контента?
  • Вопрос задан
  • 160 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы