Вопрос

У меня есть встроенный веб-сервер, на котором всего 2 Мегабайта места.Обычно вы сжимаете файлы для удобства клиентов, но это сэкономит нам место на сервере.Я читал, что вы можете просто сжать js-файл и сохранить его на сервере.Я тестировал это на IIS, и мне вообще не повезло.Что именно мне нужно делать на каждом этапе процесса, чтобы все заработало?

Я представляю, что это будет так:

  1. gzip foo.js
  2. измените ссылку в html, чтобы она указывала на foo.js.gz, а не только на .js
  3. Добавить какой-то заголовок к ответу?

Спасибо за любую помощь.

-FREW

РЕДАКТИРОВАТЬ:Мой веб-сервер ничего не может делать на лету.Это не Apache или IIS;это двоичный файл на процессоре ZiLog.Я знаю, что вы можете сжимать потоки;Я только что услышал, что вы также можете один раз сжать файлы и оставить их сжатыми.

Это было полезно?

Решение

Как уже упоминали другие, mod_deflate делает это за вас, но я думаю, вам нужно сделать это вручную, поскольку это встроенная среда.

Прежде всего, вам следует оставить имя файла foo.js после его сжатия.

Вам не следует ничего менять в своих html-файлах.Поскольку файл по-прежнему foo.js

В заголовке ответа (gzip) foo.js вы отправляете заголовок

Content-Encoding: gzip

Это должно сработать.Клиент запрашивает foo.js и получает Content-Encoding:gzip, за которым следует сжатый файл, который автоматически разархивируется перед анализом.

Конечно, это предполагает, что вы уверены, что клиент понимает кодировку gzip. Если вы не уверены, вам следует отправлять сжатые в gzip данные только тогда, когда заголовок запроса содержит

Accept-Encoding: gzip

Другие советы

Использование сжатия gzip на веб-сервере обычно означает сжатие выходных данных для экономии пропускной способности — это не совсем то, что вы имеете в виду.

Посмотрите на это описаниеилиЭтот пример

Если вы используете Apache, вы используете mod_deflate, и он сжимается на лету.

Я думаю, вы запутались, думая, что если вы что-то сжимаете, то это должен быть файл.Вместо этого подумайте о том, что файл — это просто поток данных, и этот поток данных может быть сжат здесь, передан и распакован там, причем клиенту даже не придется об этом думать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top