碼上快樂
1秒登錄
首頁
榜單
標簽
關於
搜索
相關內容
簡體
繁體
HTTP gzip和deflate的幾點區別
本文轉載自
查看原文
2016-05-09 16:58
1729
Java
gzip是一種數據格式,默認且目前僅使用deflate算法壓縮data部分;
deflate是一種壓縮算法,是huffman編碼的一種加強。
deflate與gzip解壓的代碼幾乎相同,可以合成一塊代碼。
區別僅有:
deflate使用inflateInit(),而gzip使用inflateInit2()進行初始化,比 inflateInit()多一個參數: -MAX_WBITS,表示處理raw deflate數據。因為gzip數據中的zlib壓縮數據塊沒有zlib header的兩個字節。使用inflateInit2時要求zlib庫忽略zlib header。在zlib手冊中要求windowBits為8..15,但是實際上其它范圍的數據有特殊作用,見zlib.h中的注釋,如負數表示raw deflate。
Apache的deflate變種可能也沒有zlib header,需要添加假頭后處理。即MS的錯誤deflate (raw deflate).zlib頭第1字節一般是0x78, 第2字節與第一字節合起來的雙字節應能被31整除,詳見rfc1950。例如Firefox的zlib假頭為0x7801,python zlib.compress()結果頭部為0x789c。
deflate 是最基礎的算法,gzip 在 deflate 的 raw data 前增加了 10 個字節的 gzheader,尾部添加了 8 個字節的校驗字節(可選 crc32 和 adler32) 和長度標識字節。
gzip和deflate的幾點區別
×
免責聲明!
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。
猜您在找
HttpWebResponse 解壓gzip、deflate壓縮
GZip、deflate和sdch壓縮(網摘整理)
WebApi Gzip(Deflate) 壓縮請求數據
zlib,gzip和deflate格式分析之php相互轉換
ASP.NET Web API中使用GZIP 或 Deflate壓縮
httpclient訪問網站時設置Accept-Encoding為gzip,deflate返回的結果為亂碼的問題
筆記:服務器壓縮方案 來源於 Accept-Encoding: gzip, deflate 問題
golang http gzip
Http請求的gzip壓縮
從python爬蟲引發出的gzip,deflate,sdch,br壓縮算法分析
粵ICP備18138465號
© 2018-2025 CODEPRJ.COM