Я настроил apache 2.4
для сжатия содержимого перед его доставкой клиенту, используя mod_deflate
и заголовок клиентов установлен на "Accept-Encoding: gzip"
. Итак, я уже начал работать, создав действительный сжатый файл:
curl --header "Accept-Encoding: gzip" https://my.website/ > content.gz
Есть ли способ разрешить "Accept-Encoding: zip"
сжать как zip
?
Насколько я понимаю документацию, это кажется невозможным:
Кодировка gzip - единственная поддерживаемая для обеспечения полной совместимости со старыми реализациями браузеров. Кодировка deflate не поддерживается ... (https://httpd.apache.org/docs/2.4/mod/mod_deflate.html)
Вопрос исходит от Windows
пользователь, который не может распаковать gzip
файлы (я предполагаю, используя только собственные инструменты Windows).
[редактировать: как заметил Джеральд-Шнайдер, браузер автоматически распаковывает контент, но мы используем curl
и такие инструменты командной строки, чтобы иметь возможность писать скрипты для API и, следовательно, не задействовать браузер. Спасибо также за все остальные ответы и комментарии, я думаю, что мне следовало быть более точным, то есть записать curl
команда для начала].
Я думаю, вы неправильно поняли, для чего нужно сжатие в протоколе HTTP. Это не для скачивания архивов. Это необходимо для уменьшения объема данных, передаваемых, когда вы просто просматриваете страницы. Он сжимает файлы HTML, CSS, JavaScripts и изображения. Распаковка выполняется браузером до того, как он отобразит страницы. И браузеры прекрасно справляются с gzip в Windows.
Как указано в цитировании вопроса документации apache, это не можно настроить apache для обслуживания содержимого, сжатого как zip
с mod_deflate
и заголовок клиента установлен на Accept-Encoding: zip
. Только gzip
работает. Если пользователь использует браузер этот браузер будет декодировать его на лету. Если пользователь загрузки контент, например, curl
она должна застегнуть gzip
ed, будь то собственные инструменты ОС или установленные (последнее необходимо, например, для пользователей Windows).
Читая ваш комментарий, я немного не понимаю, о чем вы спрашиваете:
В любом случае, я не уверен, что кодирование контента - это то, что вы здесь ищете ...