Как делать декомпрессию gz-файлов на стороне клиента?

Здравствуйте.

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

И я хотел бы осуществлять статическое сжатие CSS и JavaScript-файлов.
Для этого, я на своем компьютере осуществил сжатие файла myJsFile.js в myJsFile.js.gz. А после, сжатый файл разместил, как обычно, на сайте в папке scripts (вместе с остальными js-файлами).
Далее в HTML-файле я заменил строку:
<script src="scripts/myJsFile.js"></script>
на строку:
<script src="scripts/myJsFile.js.gz"></script>
После этого в браузере в разделе "Посмотреть код" -> "Network" -> "JS" (или для FireFox "Исследовать элемент" -> "Сеть"), я обнаружил, что файл "myJsFile.js.gz" подгружается на сторону клиента, но, я так понимаю, не разархивируется и не исполняется (то что он не исполнялся это точно).

Как, без использования сервера, сделать так, чтобы полученный на стороне клиента файл "myJsFile.js.gz" разархивировался и исполнялся?

P.S. По сути я хочу выполнять компрессию файлов без использования сервера.
  • Вопрос задан
  • 982 просмотра
Решения вопроса 2
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
При отдаче статического контента Ваш бесплатный хостинг должен поддерживать сжатие контента. Если он не поддерживает - то нативно никак.
Только надстройками:
1. https://github.com/nodeca/pako
Сжатие контента:
2. https://github.com/beatgammit/gzip-js
3. https://github.com/Stuk/jszip
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
P.S. По сути я хочу выполнять компрессию файлов без использования сервера.


через Cloudflare или Photon JetPack пропусти и не парься
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@LiguidCool
Могу ошибаться, но браузер должен этим заниматься. Возможно ему надо передать верные заголовки.
Ответ написан
selivanov_pavel
@selivanov_pavel
Linux admin
> При этом серверные вычисления и возможность использования файла .htaccess, на используемом мною тарифе, недоступны.
Тогда никак. Если есть доступ к настройке веб-сервера - то, например, так: nginx.org/en/docs/http/ngx_http_gzip_static_module.html
Ответ написан
@viiy
Linux сисадмин \ DevOps
В общем, вы не в ту сторону копаете...

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

Требования два:
- сервер должен быть настроен на сжатие статики
- клиент должен передать заголовок что он поддерживает сжатие

Проверить можно так: (обратите внимание на Accept-Encoding: gzip)
curl -I --header "Accept-Encoding: gzip,deflate" http://pastie.org


Ответ:
...
...
Content-Encoding: gzip


Таким же способом можете проверить ваши js и убедиться что они сжимаются или нет.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы