17 - 03 - 22 圖解HTTP(26)

#### 請求首部字段 ####

請求首部字段是從客戶端往服務器端發送請求報文中所使用的字段,

用於補充請求的附加信息、客戶端信息、對響應內容相關的優先級等內容。

# 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  相同。另外,也可使用星號(*)作爲通配符,指

定任意的編碼格式。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章