Как уже упоминали другие, mod_deflate делает это за вас, но я думаю, вам нужно сделать это вручную, поскольку это встроенная среда.
Прежде всего вы должны оставить имя файла foo.js после того, как вы его распакуете.
Вы не должны ничего менять в своих html-файлах. Поскольку файл по-прежнему foo.js
В заголовке ответа (gzipped) foo.js вы отправляете заголовок
Content-Encoding: gzip
Это должно сработать. Клиент запрашивает foo.js и получает Content-Encoding: gzip, за которым следует файл gzip, который он автоматически распаковывает перед анализом.
Конечно, это предполагает, что вы уверены, что клиент понимает кодировку gzip. Если вы не уверены, вы должны отправлять gzipped данные только тогда, когда заголовок запроса содержит
Accept-Encoding: gzip