Когда вы обслуживаете файлы JavaScript, можно ли их сжать по умолчанию? - PullRequest
2 голосов
/ 18 мая 2009

Вопрос подходит к названию. Меня не интересует, что спецификация рекомендует, но какие браузеры в настоящее время поддерживают наилучшую поддержку.

  • Документы Google распаковывают свои JS.
  • CDN API библиотек Google AJAX gzips JS.
  • Yahoo сжимает JS для своих файлов YUI.
  • Домашняя страница Yahoo сжимает их JS.

Так что я думаю, что ответ на мой вопрос да, хорошо бы сжать JS для всех браузеров . Но вы дадите мне знать, если не согласны.

Ответы [ 2 ]

7 голосов
/ 18 мая 2009

Если вы распакуете .js (или любой другой контент), могут возникнуть две проблемы: 1. gzip увеличивает задержку для несжимаемых файлов (требуется время для сжатия и распаковки) 2. старый браузер может не понимать сжатый контент , Чтобы избежать проблемы 2, вы должны изучить Accept-Encoding и User-Agent или другие части HTTP-запроса, чтобы определить, поддерживает ли браузер gzip. Современные браузеры не должны иметь проблем с содержимым gzippd.

Выдержка из http://httpd.apache.org/docs/2.2/mod/mod_deflate.html: Сначала мы проверяем строку User-Agent, которая указывает версию Nexcape Navigator 4.x. Эти версии не могут обрабатывать сжатие типов, отличных от text / html. Версии 4.06, 4.07 и 4.08 также имеют проблемы с распаковкой html-файлов. Таким образом, мы полностью отключаем фильтр для них.

5 голосов
/ 18 мая 2009

Нет, это не так. Во-первых, браузер должен объявить, что он принимает кодировку gzip согласно Supercharging Javascript . Кроме того, некоторые версии IE6 имеют сломанные реализации, которые по-прежнему остаются проблемой, если они не были исправлены. Подробнее в Проблема Internet Explorer (с кодировкой gzip) .

...