Android的網路請求中GZip的使用

2021-06-07 17:36:27 字數 1257 閱讀 6379

gzip是gnuzip的縮寫,它是乙個gnu自由軟體的檔案壓縮程式。

http協議上的gzip編碼是一種用來改進web應用程式效能的技術。一般伺服器中都安裝有這個功能模組的,伺服器端不需做改動。

當瀏覽器支援gzip 格式的時候, 伺服器端會傳輸gzip格式的資料。

從http 技術細節上講,就是 http request 頭中 有 "accept-encoding", "gzip" ,response 中就有返回頭content-encoding=gzip 。

我們現在從瀏覽器上訪問玩啥**都是gzip格式傳輸的。

但是我們現在android 客戶端,沒有用gzip 格式訪問。

同樣的的道理,我們可以在android 客戶端 request 頭中加入 "accept-encoding", "gzip" ,來讓伺服器傳送gzip 資料。

具體**如下。

參考 ,注意實際使用中,我發現gzip 流前兩個位元組是0x1e8b ,不是0x1f8b .後來檢查一下code ,**處理錯誤,加上第二個位元組的時候需 &0xff

0x1f8b 可參考標準 

Android非同步網路請求

安卓4.0版本以上不允許在主線程中進行網路請求,如果在主線程進行網路請求,會造成頁面假死,甚至程式異常。因此需要開乙個新執行緒來進行網路請求 開乙個新執行緒 new thread new runnable catch exception e start handler mhandler new ha...

Android網路請求優化

學習自trinea大神還有一些另外的文章 分析工具 1.android內建的profile monitor 不僅可以看網路,還可以看記憶體,cpu 2.提供弱網的工具,測試弱網 還有wifi情況 3.截獲網路包,進行分析 url一般是用網域名稱直接請求的,雖然local dns會快取,但是最好還是能...

Android網路請求優化

安全方面 首先是防劫持,我們可以考慮使用 httpdns。這裡需要注意 httpdns 只是乙個概念,並不是乙個現有的開源庫。它與傳統的 dns 解析的區別在於 httpdns 會繞過運營商的 dns 伺服器,直接與 dns 伺服器的 80 埠進行互動,有效地防止了網域名稱劫持。關於 dns 解析的...