2008-10-17 4 views
3

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

Это то, что я предполагаю, что это будет так:

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

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

-fREW

EDIT: Мой веб-сервер не может ничего на лету сделать. Это не Apache или IIS; это двоичный код на процессоре ZiLog. Я знаю, что вы можете сжимать потоки; Я только что слышал, что вы можете сжать файлы один раз и оставить их сжатыми.

ответ

5

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

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

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

В заголовке отклика (в сжате GZIP) foo.js вы посылаете заголовок

Content-Encoding: gzip 

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

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

Accept-Encoding: gzip 
+0

Спасибо, Как вы управляете этим заголовком ответа, если используете Apache для работы с файлами, но не хотите сжимать «на лету» (чтобы сохранить циклы на сервере.)? – Bram 2014-01-25 01:11:34

1

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

Look at this description или This example

+0

Я знаю, что, но я читал, что вы может сжимать статические файлы, и если я могу это сделать, я это сделаю. – 2008-10-17 14:35:54

1

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

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

Смежные вопросы