2016-12-14 55 views
1

簡而言之 - 基本上我試圖創建一個Heavy-client & Light-Server單頁應用程序。如何在瀏覽器中獲取javascript來解析json.gz文件

我正在通過簡單的HTML腳本標記獲取壓縮的JSON數據文件。

<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"}

,它是關於6MB。 parse.js javascript代碼具有邏輯來操縱使用media_libary變量在myjson.json文件中聲明的數據創建網頁。

壓縮到myjson.json.gz將尺寸縮小到650KB。這允許更快的加載時間。

我用Google搜索的方式之一:

(1)找到代碼獲取JavaScript膨脹gzip文件到myjson.json,然後把它去

(2)查找代碼來獲取JavaScript來從gzip文件讀取json對象

我找不到任何東西。

我正在尋找一種方法來節省傳輸整個數據的網絡時間。

獲取服務器發送JSON的想法只是我的想法,但這違背了我保持服務器亮並讓我的客戶端執行搜索,排序,過濾和呈現(沉重客戶端的東西)。

有沒有一種方法可以讓服務器只發送壓縮的JSON數據來解壓縮並在瀏覽器上工作?

謝謝。我的服務器是python -m CGIHTTPServer

這是瀏覽器的網絡活動檢查員。

network activity

+0

嘗試將[mime類型的CGI腳本輸出](https://docs.python.org/2/library/cgi.html)設置爲[「Content-Type:application/gzip」](http:/ /superuser.com/a/960710)。 FWIW壓縮文件比JSONP(一個JavaScript文件)多於「JSON」 – traktor53

回答

1

使用壓縮傳輸編碼,如gzip的。有可能你的服務器已經配置好了,你的瀏覽器也可以處理它。那麼,你不需要做任何事情。作爲獎勵,瀏覽器可以指定它支持的編碼。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Transfer-Encoding

實現依賴於你的服務器上的細節。通常這是一個簡單的配置線。如果您的資源非常頻繁,您也可以預壓縮它,以便服務器只需發送它。

+0

在該問題中增加了一些細節。請檢查。謝謝。我是否需要讓服務器以某種方式更改標題? – anu

+0

@anu:你在使用什麼網絡服務器? Apache的? Nginx的? –

+0

@Connor Gurney Python的CGIHTTPServer – anu

相關問題