Ответ 1
Все современные браузеры могут обрабатывать gzip-кодированный ответ. На самом деле, если вы посмотрите на их запросы, у них будет заголовок, который говорит что-то в строках Accept-Encoding: gzip
, и это их способ сказать серверу, что они могут обрабатывать gzipped-ответы.
Важная роль заключается в том, что ваш сервер может возвращать как gzip, так и несжатые ответы в зависимости от существования и значения этого заголовка. Если клиент не отправляет заголовок Accept-Encoding
, вы не должны его сжимать. Если клиент отправляет его, вы можете дополнительно закодировать ответ с помощью gzip. Не все содержимое должно быть сжато, поскольку оно уже может быть сжато, и вы теряете процессорные циклы. Изображения JPEG обычно являются хорошим примером этого. Скорее всего, IIS также принимает интеллектуальное решение и только сжимает то, что необходимо, когда это необходимо.
Вы можете проверить, что IIS делает то, что должно быть, просматривая заголовки ответов, возвращающиеся с вашего сервера и ищущие заголовок Content-Encoding: gzip
. Это сообщает клиенту или браузеру, что контент кодируется с использованием сжатия gzip, и он должен соответствующим образом распаковать его.
Все запросы на основе браузера (например, AJAX/jQuery, обычные запросы) будут автоматически распаковываться без дополнительных усилий. Браузер - это клиент, ответственный за определение того, может ли он обрабатывать gzip и будет добавлять заголовок Accept-Encoding
, если это произойдет. Ваш код JavaScript получит несжатую его версию в вашем обработчике ответов.
TL; DR: включение его обычно является хорошей идеей, и вам не нужно выполнять дополнительную работу.