?
This document uses PHP Chinese website manual Release
Accept-Encoding
請(qǐng)求的 HTTP 標(biāo)頭通告其內(nèi)容編碼,通常是一個(gè)壓縮算法中,客戶端是能夠理解的。使用內(nèi)容協(xié)商,服務(wù)器選擇其中一個(gè)提議,使用它并通過(guò)Content-Encoding
響應(yīng)頭向客戶端通知其選擇。
即使客戶端和服務(wù)器都支持相同的壓縮算法,如果身份值也可以接受,服務(wù)器可能會(huì)選擇不壓縮響應(yīng)的主體。兩種常見(jiàn)情況導(dǎo)致這種情況:
要發(fā)送的數(shù)據(jù)已經(jīng)被壓縮,并且第二次壓縮不會(huì)導(dǎo)致傳輸更小的數(shù)據(jù)。這可能是一些圖像格式的情況;
服務(wù)器過(guò)載并且無(wú)法承受由壓縮需求引起的計(jì)算開(kāi)銷。通常,如果服務(wù)器使用80%以上的計(jì)算能力,Microsoft 建議不要進(jìn)行壓縮。
只要該identity
值(即沒(méi)有編碼)沒(méi)有被明確禁止,通過(guò)一個(gè)identity;q=0
或一個(gè)*;q=0
沒(méi)有明確設(shè)定的身份值,服務(wù)器就不能發(fā)回406
Not Acceptable
錯(cuò)誤。
注:
IANA 注冊(cè)管理機(jī)構(gòu)保留官方內(nèi)容編碼的完整列表。
另外兩個(gè)內(nèi)容編碼,bzip
并且bzip2
,有時(shí)使用,雖然不是標(biāo)準(zhǔn)。他們實(shí)現(xiàn)這兩個(gè) UNIX 程序使用的算法。請(qǐng)注意,由于專利許可問(wèn)題,第一個(gè)中斷。
Header type | Request header |
---|---|
Forbidden header name | yes |
Accept-Encoding: gzip Accept-Encoding: compress Accept-Encoding: deflate Accept-Encoding: br Accept-Encoding: identity Accept-Encoding: *// Multiple algorithms, weighted with the quality value syntax:Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
gzip
使用 Lempel-Ziv 編碼( LZ77 )的壓縮格式,帶有32位 CRC 。
compress
使用 Lempel-Ziv-Welch( LZW )算法的壓縮格式。
deflate
使用 zlib 結(jié)構(gòu)的壓縮格式,以及 deflate 壓縮算法。
br
使用 Brotli 算法的壓縮格式。
identity
指示身份功能(即不壓縮,也不修改)。即使不存在,該值始終被認(rèn)為是可以接受的。
*
匹配尚未在標(biāo)題中列出的任何內(nèi)容編碼。如果標(biāo)題不存在,這是默認(rèn)值。這并不意味著支持任何算法; 只是表示沒(méi)有偏好。
;q=
( q 值加權(quán))任何值都按照稱為權(quán)重的相對(duì)質(zhì)量值的優(yōu)先順序排列。
Accept-Encoding: gzip Accept-Encoding: gzip, compress, br Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
Specification | Title |
---|---|
RFC 7231, section 5.3.4: Accept-Encoding | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
Feature | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
Basic Support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |