#### 請求首部字段 ####
請求首部字段是從客戶端往服務器端發送請求報文中所使用的字段,
用於補充請求的附加信息、客戶端信息、對響應內容相關的優先級等內容。
# Accept #
Accept首部字段可通知服務器,用戶代理能夠處理的媒體類型及媒體類型的相對優先級。
可使用type/subtype這種形式,一次指定多種媒體類型。
Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
我們試舉幾個媒體類型的例子:
# 文本文件:
text/html, text/plain, text/css ... application/xhtml+xml, application/xml ...
# 圖片文件:
image/jpeg, image/gif, image/png ...
# 視頻文件:
video/mpeg, video/quicktime ...
# 應用程序使用的二進制文件:
application/octet-stream, application/zip ...
比如,如果瀏覽器不支持 PNG圖片的顯示,那Accept就不指定 image/png,
而指定可處理的image/gif和image/jpeg等圖片類型。若想要給顯示的媒體類型增加優先級,
則使用 q= 來額外表示權重值1,用分號(;)進行分隔。權重值q的範圍是 0~1 (可精確到小數點後3位),
且1爲最大值。不指定權重q值時,默認權重爲 q=1.0 。
# Accept-Charset #
ex: Accept-Charset: iso-8859-5, unicode-1-1;q=0.8
Accept-Charset 首部字段可用來通知服務器用戶代理支持的字符集及字符集的相對優先順序。
另外,可一次性指定多種字符集。與首部字段Accept相同的是可用權重q值來表示相對優先級。
該首部字段應用於內容協商機制的服務器驅動協商。
# Accept-Encoding #
Accept-Encoding 首部字段用來告知服務器用戶代理支持的內容編碼及內容編碼的優先級順序。
可一次性指定多種內容編碼。
ex: Accept-Encoding: gzip, deflate
下面試舉出幾個內容編碼的例子:
# gzip
由文件壓縮程序gzip( GNU zip )生成的編碼格式(RFC1952),採用Lempel-Ziv算法(LZ77)及 32位循環冗餘校驗(Cyclic Redundancy Check ,通稱 CRC)
# compress
由UNIX文件壓縮程序compress生成的編碼格式,採用 Lempel-Ziv-Welch算法(LZW)。
# deflate
組合使用zlib格式(RFC1950)及由 deflate壓縮算法(RFC1951)生成的編碼格式。
# identity 不執行壓縮或不會變化的默認編碼格式、
注: 採用權重 q 值來表示相對優先級,這點與首部字段 Accept 相同。另外,也可使用星號(*)作爲通配符,指
定任意的編碼格式。