, если браузер отправляет
Accept-Encoding: gzip
вы можете сжать содержимое вашего ответа HTTP, а не файл в файловой системе сервера. Затем в своем HTTP-ответе вы должны установить следующие заголовки:
Content-Length: totalBytes
Content-Encoding: gzip