GZIP的工作原理分析

2019-08-16        213

HTTP Header中Accept-Encoding 是

瀏覽器發給服務器,聲明瀏覽器支持的編碼類型

常見的有

Accept-Encoding: compress, gzip //支持compress 和gzip類型

Accept-Encoding: //默認是identity

Accept-Encoding: * //支持所有類型 Accept-Encoding: compress;q=0.5, gzip;q=1.0//按順序支持 gzip , compress

Accept-Encoding: gzip;q=1.0, identity; q=0.5, *;q=0 // 按順序支持 gzip , identity

服務器返回的對應的類型編碼header是 content-encoding.服務器處理accept-encoding的規則:

1. 如果服務器可以返回定義在Accept-Encoding 中的任何一種Encoding類型, 那么處理成功(除非q的值等于0, 等于0代表不可接受)

2. * 代表任意一種Encoding類型 (除了在Accept-Encoding中顯示定義的類型)

3.如果有多個Encoding同時匹配, 按照q值順序排列

4. identity總是可被接受的encoding類型(除非顯示的標記這個類型q=0) ,

如果Accept-Encoding的值是空, 那么只有identity是會被接受的類型

如果Accept-Encoding中的所有類型服務器都沒發返回, 那么應該返回406錯誤給客戶端

如果request中沒有Accept-Encoding 那么服務器會假設所有的Encoding都是可以被接受的。

如果Accept-Encoding中有identity 那么應該優先返回identity (除非有q值的定義,或者你認為另外一種類型是更有意義的)

注意:

如果服務器不支持identity 并且瀏覽器沒有發送Accept-Encoding,那么服務器應該傾向于使用HTTP1.0中的 “gzip” and “compress” , 服務器可能按照客戶端類型 發送更適合的encoding類型大部分HTTP1.0的客戶端無法處理q值

編碼類型

GZIP:

GZIP最早由Jean-loup Gailly和Mark Adler創建,用于UNIX系統的文件壓縮。我們在Linux中經常會用到后綴為.gz的文件,它們就是GZIP格式的。現今已經成為Internet 上使用非常普遍的一種數據壓縮格式,或者說一種文件格式。

HTTP協議上的GZIP編碼是一種用來改進WEB應用程序性能的技術。大流量的WEB站點常常使用GZIP壓縮技術來讓用戶感受更快的速度。這一般是指WWW服務器中安裝的一個功能,當有人來訪問這個服務器中的網站時,服務器中的這個功能就將網頁內容壓縮后傳輸到來訪的電腦瀏覽器中顯示出來.一般對純文本內容可壓縮到原大小的40%.這樣傳輸就快了,效果就是你點擊網址后會很快的顯示出來.當然這也會增加服務器的負載. 一般服務器中都安裝有這個功能模塊的.

COMPRESS

compress是一個相當古老的 unix 檔案壓縮指令,壓縮后的檔案會加上一個 .Z 延伸檔名以區別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。若要將數個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由于 gzip 可以產生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。


AM 09:00 ~ 12:00

PM 14:00 ~ 18:00

Tel 010-50933590

Hp 18910140161

設計優勢

獨立的設計團隊 帶給您全新的視覺體驗

功能開發

強大的技術實力,完成您想要的任何功能

售后服務

完善的售后服務,解決您在使用過程中遇到的問題

永恒宝钻电子 澳洲幸运5技巧公式 辽宁35选7中3个号多少钱 兰州小姐那里找 一本道导航 图 无忧天下番号网 相泽南 黑龙江36选7 4场进球 幸运11选5开奖 东莞酒店按摩日结 捷希源配资 内蒙古十一选五基本 能开好友房的麻将卡五星软件 打麻将平台怎么弄 qq分分彩 广东快乐10分开奖 拉萨按摩会所半套