Как получить 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

Особенности реализации зависят от вашего сервера. Обычно это простая строка конфигурации. Если у вас есть ресурс, к которому обращаются очень часто, вы также можете предварительно сжать его, чтобы сервер просто отправил его.

Другие вопросы по тегам