Как получить javascript для анализа файла json.gz в браузере
В двух словах - по сути, я пытаюсь создать Heavy-client & Light-Server
Одностраничное приложение.
Я получаю сжатый файл данных JSON с помощью простого тега HTML-сценария.
<script type="text/javascript" src="myjson.json.gz"></script>
<script type="text/javascript" src="parse.js"></script>
myjson.json
Файл имеет содержимое, похожее на:
media_library={some:"json", data: "here"}
Только около 6МБ. parse.js
JavaScript-код имеет логику для управления созданием веб-страницы с использованием данных из media_libary
переменная объявлена в myjson.json
файл.
Сжатие до myjson.json.gz
уменьшил размер до 650КБ. Что позволяет ускорить загрузку.
Я погуглил способы либо:
(1) Найдите код, чтобы получить javascript для раздувания gzip-файла в myjson.json и затем запустить его
(2) Найти код для получения javascript для чтения объекта json из файла gzip
Я не мог найти ничего ни на одном.
Я ищу способ сэкономить сетевое время для передачи всех данных.
Идея заставить сервер отправлять JSON, который требуется только вместо этого, пришла мне в голову, но это противоречит моему намерению держать сервер на свету и заставлять моего клиента выполнять поиск, сортировку, фильтрацию и представление (тяжелые вещи клиента).
Можно ли заставить сервер просто отправлять сжатые данные JSON только для распаковки и работы в браузере?
Благодарю.
я использую python -m CGIHTTPServer
как мой сервер.
Это инспектор сетевой активности браузера.
1 ответ
Используйте сжатую кодировку передачи, например, gzip. Скорее всего, ваш сервер уже настроен для этого, и ваш браузер уже может справиться с этим. Тогда вам не нужно ничего делать. В качестве бонуса браузер может указать, какие кодировки он поддерживает.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding
Особенности реализации зависят от вашего сервера. Обычно это простая строка конфигурации. Если у вас есть ресурс, к которому обращаются очень часто, вы также можете предварительно сжать его, чтобы сервер просто отправил его.