請求首部欄位詳解-四大首部欄位之一

zhangfaliang發表於2018-12-29

我在分享一下,四大請求首部欄位之一,我在之前的一篇文章--《常見Http首部欄位》寫道了常見的首部欄位,裡面包含4種常見的請求首部欄位,但是我並沒有詳細的解釋這些欄位,我們們大家都是講究的人,既然寫了我們們就寫的明明白白的,我在《通用首部欄位詳解--四大首部欄位之一》中詳解了通用首部欄位,今天我們就看看在四大首部欄位中欄位最多的請求首部欄位(19個),

請求首部欄位,顧名思義就知道,使用在請求方,那隻能攜帶客戶端的資訊,客戶端一些請求要求,客戶端要求響應的優先順序之類的,接下來我們們就看看這19欄位的

1、 Accpet 

Accept的意思-接受,哪聰明的小夥伴是不是就可以猜到了呢,沒錯它就是來告知伺服器客戶端能接受的“媒體型別”,“媒體型別”有是什呢,其實我們可以分成,文字型別、圖片型別、視訊型別、還有二進位制型別

文字型別  text/html,   text/css ......

圖片型別:image/png  image/jpg image/gif .....

視訊型別:video/mpeg video/quitime .......

應用程式的二進位制 : application/zip applilcation/octet-stream........

主要的目的就是告訴伺服器,客戶端能夠接受的媒體型別,多個型別以逗號隔開,如果加權重的話以分號;隔開q=1,q的是指0-1最多三位小數的數字,預設是1

請求首部欄位詳解-四大首部欄位之一


2、Accept-Charset 

Accept-Charset 字面意思大家都可想而知,沒錯就是客戶端可接受的字符集,也可以理解為優先處理字符集,當然q可以一起使用。

請求首部欄位詳解-四大首部欄位之一

3、 Accept-Language

字面意思大家都可想而知,沒錯就是客戶端可接受的自然語言,也可以理解為優先處理的語言,當然q可以一起使用。

請求首部欄位詳解-四大首部欄位之一

4、 Accept-Encoding 

字面意思大家都可想而知,沒錯就是客戶端可接受的編碼格式,也可以理解為優先處理的編碼格式,當然q可以一起使用。

常用的 gzip comperss

請求首部欄位詳解-四大首部欄位之一

5 、If-Match

這個欄位比較有意思,它的值是一個"能夠表示唯一資源的字串“,是響應首部欄位的ETag的值,作用是和響應端的ETag做比較,如果值一致,響應端就會返回200 和資源,如果不一致就會返回412,客戶端再次請求資源

請求首部欄位詳解-四大首部欄位之一

6、If-None-Match 

這個和If-Match左右相反

請求首部欄位詳解-四大首部欄位之一

7、If-Modified-since

這個欄位也比較有意思,當請求首部攜帶這個欄位請求資源的時候,伺服器會用請求首部字值:’日期值‘和資源實體的Last-Modified對比,

如果一樣就返回304

否則返回200 和響應體

請求首部欄位詳解-四大首部欄位之一

8、If-Unmodified-Match 

和If-Modified-since相反但是,如果一樣就返回412,客戶端再次請求

9、If-Ranges

這個欄位也比較有意思,他一般結合Range請求首部欄位使用,它的值也是一個"能夠唯一表示資源的字串“,伺服器會和ETag的值做比較,

如果這一致返回206 和請求的返回值

如果不一致直接返回200和全部的響應資源

請求首部欄位詳解-四大首部欄位之一

10、Range

這個欄位用於範圍請求,如果伺服器支援範圍請求,在請求首部可以新增這個欄位,值為”batys:1000-10000“表示請求的範圍是100-10000區間,

伺服器發現範圍請求沒有超過資源範圍,就會返回206 ok

如果請求的範圍超過資源的範圍就會返回200ok,

如果伺服器不支援也會返回200ok

請求首部欄位詳解-四大首部欄位之一

11、Host

這個欄位一般會出現在,同一個ip下多個虛擬機器的請求,用於區分同於ip下不同虛擬機器

請求首部欄位詳解-四大首部欄位之一

12、From

From:’郵箱地址‘,告知伺服器如果有什麼問題可以聯絡這個郵箱

請求首部欄位詳解-四大首部欄位之一

13、Authorization

用於伺服器要求客戶端驗證時,請求時帶的欄位(一般是DIGUST和BASIC驗證,可以看《DIGEST認證》《BASIC認證》

請求首部欄位詳解-四大首部欄位之一

14、Proxy-Authorization

用伺服器要求代理端web驗證時,請求時帶的欄位

15、User-Agent

客戶端的一些資訊,有時候會帶使用者的郵箱

請求首部欄位詳解-四大首部欄位之一

16、Referer

使用者表示請求原始方的URI

請求首部欄位詳解-四大首部欄位之一

17、Expcet

詢問伺服器能不能做某些事情,

如果伺服器可以做到返回100 contiune

否則 417 Expectation Failed

請求首部欄位詳解-四大首部欄位之一

18、TE

大家還記得Accept-Encoding首部欄位嗎?TE和Accept-Encoding功能很像,用於能夠處理的傳輸編碼格式,不過另外還有一個功能還可以知道Trailer分塊格式

19、Max-Forwrads 

這個欄位也是非常有意思的,他用於最大逐跳,他的值是阿拉伯數字,主要用於測試中間伺服器那個出問題了,比如現在有一個請求需要經過10箇中間伺服器才能請求到真正的伺服器,但是突然中間有個伺服器down,其實前端是不知道那個伺服器down,就需要請求首部加入Max-Forwrads來測試那個伺服器出現問題了。


請求首部欄位詳解-四大首部欄位之一








相關文章