2016-10-01 2 views

ответ

7

Передача HTTP между сервером и клиентом почти всегда использует сжатие. В большинстве случаев это gzip.

Так что важно для времени передачи - это не размер вашего bundle.js, а размер bundle.js.gz, поскольку контент практически всегда отправляется в сжатой форме gzip.

При запросе bundle.js сервер gzips на лету и помещает его в провод. Поэтому gzip запускается по каждому запросу, что неэффективно для статического контента.

Также производительность gzip значительно падает с уровнем сжатия (check out this article). Использование максимально возможного уровня сжатия неэффективно, если это возможно на лету. Правильно сконфигурированный веб-сервер отправляет bundle.js.gz, когда запрашивается gzipped-версия bundle.js, поэтому вы можете использовать самый высокий уровень сжатия, который может предоставить gzip.

По моему мнению, бонус за производительность незначительно, если только ваш сервер не предоставляет статический контент, который может быть сжат досрочно. Для небольшого приложения со статическим контентом и API, обслуживаемым с одного и того же компьютера, не должно быть никакого эффекта.

+0

Ну Разъяснения. Спасибо :) – Manish

+0

@ user32 У меня есть приложение angular2 с помощью app.js.gz, но браузер ничего не делает с файлом. Я задал вопрос: http://stackoverflow.com/questions/41047617/angular2-gzip-issue-when-i-run-my-app – AngularM

+0

@ user32 Я просто хочу, чтобы файл app.js.gz работал с браузером, чтобы мое приложение angular2 запускалось. Я принимаю firebase и использую cloudflare. Нужно ли мне делать некоторые изменения настроек? – AngularM

1

Gzipped папки предназначены для сервера. Для этого сервер должен иметь такую ​​конфигурацию. Запишите его в файлы conf вашего сервера, чтобы они могли отправлять gzip-папки.

enter image description here enter image description here

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