Как установить правильный заголовок длины контента, когда WebServer автоматически сжимает вывод?
-
21-09-2019 - |
Вопрос
Следующий Мой предыдущий вопрос, в котором я думаю, что сузил свою проблему до узкого места:
Как мне установить правильное значение для Content-Length
Заголовок для загружаемого файла, из PHP, когда WebServer (Apache) автоматически сжимает сжимание?
Я ищу самое надежное/общее решение. Я не очень хорошо информирован о сжатии выхода, но я предполагаю, что у Apache есть несколько алгоритмов сжатия, которые он может использовать (Gzip и т. Д.). Итак, из PHP, как я бы автоматически обнаружил, какое сжатие использует WebServer, и как я могу использовать это для установления правильного Content-Length
Значение заголовка для размера файлов (после его сжатия)?
Решение
Вам не нужно указывать Длина контента, Apache делает это для вас.
Другие советы
Итак, ситуация здесь в том, что вы выпускаете загрузку файла. Бьюсь об заклад, этот файл уже сжат, чтобы сохранить вам пропускную способность.
В любом случае, если на вашем сервере есть какое -либо активное сжатие, это нехорошо, так как он тратит время ни на что, так как сервер не может достичь лучшего сжатия, поэтому для ускорения этого вы должны отключить сжатие вывода для любой загрузки файла.
Попробуйте из них:
Apache Conf
Отключить mod_deflate
Php.ini
output_buffering = off
output_handler =
zlib.output_compression = off
Может быть, ответ Клетуса в этот вопрос помогает.
Кроме того, вы уверены, что хотите обслуживать свои загрузки с помощью GZIP? ZIPPING имеет большой смысл для HTML, CSS и JS содержимого, но с огромными загрузками файлов я бы выключил его.