2014-01-09 2 views
1

Я использую node.js (не socket.io, im, использующий ws и flash fall backs). Мне бы хотелось, чтобы некоторые сообщения о работе с js-файлами были как gzipped/zipped files. У меня есть googled, но я не уверен, что знаю достаточно, чтобы понять. Поэтому, прежде чем я продолжу google, я думаю, что это хорошая идея, чтобы посмотреть, что вы можете сказать о моей идее сыра чеддер и, возможно, помочь мне очистить мой мозг от глупых вопросов.gzip javascript файлы в браузер быстрее?

  1. Что делает браузер с zip-файлами js? (Я ничего не думаю, он загрузит его на ваш компьютер в виде zip-файла).

  2. есть что-то для распаковки и добавления js в качестве тега сценария (я думаю, что все еще будет с сервера, чтобы «вы хотите сохранить этот файл, этот файл может нанести вред вашему компьютеру [да] [нет]? ')

  3. это сопутствующее todo с htaccess или клиент делает это?

благодаря

ответ

1

Что браузер делает с файлами зависит от HTTP заголовков, которые сервер предоставляет в ответ. Например, мы служим нашим сжат GZIP сценария со следующими заголовками:

Content-Type: text/javascript 
Content-Encoding: gzip 

таблицы стилей поставляются точно так же, но с типом text/css контента. Браузер автоматически распаковывает их, а затем обрабатывает их точно так же, как если бы они были доставлены. Сюда входят запросы Ajax.

Для статических gzipped-файлов для этого мы используем файл .htaccess на нашем сервере Apache. Ниже приведены соответствующие строки:

<IfModule mod_mime.c> 
    AddCharset utf-8 .css 
    AddCharset utf-8 .js 
    AddEncoding gzip .gz 
</IfModule> 
<FilesMatch "(\.js|\.js\.gz)$"> 
    ForceType text/javascript 
</FilesMatch> 
<FilesMatch "(\.css|\.css\.gz)$"> 
    ForceType text/css 
</FilesMatch> 

Для динамического содержимого сценарий сервера генерирует заголовки, а также ответ.

+0

поэтому он автоматически с соответствующими заголовками! –

+0

@BenMuircroft - Да. Это довольно приятно. –

+0

с ajax или json я мог бы также закрепить базу данных 64? AddCharset для ajax или обычного req ?? или не нужен htaccess для этого, просто заголовки? –

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