Accept-Encoding

Accept-Encoding,HTTP Header中Accept-Encoding 是瀏覽器發給伺服器,聲明瀏覽器支持的編碼類型

Accept-Encoding,編碼類型,

Accept-Encoding

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 為檔案壓縮工具。

相關詞條

熱門詞條

聯絡我們