HTTP請求頭與響應頭

2021-08-17 10:40:21 字數 3317 閱讀 2528

請求頭:瀏覽器向伺服器傳送請求的資料,資源。

響應頭:伺服器向瀏覽器響應資料,告訴瀏覽器我是誰,我要你怎麼做。如,我是nginx,給你的資源是正確的200 還是錯誤的404,我要你快取多久。

常見的請求頭:

accept: text/html,image/*                    

瀏覽器可以接收的型別 

accept-charset: iso-8859-1              

瀏覽器可以接收的編碼型別

accept-encoding: gzip,compress        

瀏覽器可以接收壓縮編碼型別 

accept-language: en-us,zh-cn

瀏覽器可以接收的語言和國家型別

host: www.lks.cn:80

瀏覽器請求的主機和埠

if-modified-since: tue, 11 jul 2000 18:23:51 gmt   某個頁面快取時間 

referer:     

請求來自於哪個頁面

user-agent: mozilla/4.0 compatible; msie 5.5; windows nt 5.0   瀏覽器相關資訊

cookie:                                 

瀏覽器暫存伺服器傳送的資訊

connection: close1.0/keep-alive1.1  

http請求的版本的特點

date: tue, 11 jul 2000 18:23:51gmt         

請求**的時間

allow:get                                  

請求的方法 get 常見的還有post

keep-alive:5                       

連線的時間;5

connection:keep-alive             

是否是長連線

cache-control:max-age=300              

快取的最長時間 300s

常見的響應頭:

location:      

控制瀏覽器顯示哪個頁面 

server:apache nginx

伺服器的型別 

content-encoding: gzip     

伺服器傳送的壓縮編碼方式 

content-length: 80  

伺服器傳送顯示的位元組碼長度 

content-language: zh-cn     

伺服器傳送內容的語言和國家名 

content-type: image/jpeg; charset=utf-8  

伺服器傳送內容的型別和編碼型別 

last-modified: tue, 11 jul 2000 18:23:51gmt           伺服器最後一次修改的時間 

refresh: 1;url=        

控制瀏覽器1秒鐘後**url所指向的頁面 

transfer-encoding: chunked      

伺服器分塊傳遞資料到客戶端  

set-cookie:ss=q0=5lb_nq; path=/search                伺服器傳送cookie相關的資訊 

expires: -1       

資源的過期時間,提供給瀏覽器快取資料,-1永遠過期 

cache-control: no-cache        

告訴瀏覽器,一定要回伺服器校驗,不管有沒有快取資料。 

pragma: no-cache             

伺服器控制瀏覽器不要快取網頁   

請求的版本的特點   

date: tue, 11 jul 2000 18:23:51 gmt                       響應**的時間 

etag:「ihfdgkdgnp98hdfg」                                       資源實體的標識(唯一標識,類似md5值,檔案有修改md5就不一樣)

關於快取相關頭的解釋:

expires

乙個gmt時間,試圖告知瀏覽器,在此日期內,可以信任並使用對應快取中的副本,缺點是,一但客戶端日期不準確.則可能導致失效.

pragma : no-cache  

這個是http1.0中的常規頭,作用同http1.1的 cache-control : no-cache

last-modified 

乙個gmt時間,告知被請求實體的最後修改時間.用於瀏覽器校驗其快取副本是否仍然可以信任.與其相關的兩個條件請求標頭:

1) if-modified-since

僅在get方法中意義,這個也是比較常見的。 如果實體在指定時間後,沒有修改則返回乙個304,否則返回乙個常規的get請求的響應(比如200),靜態檔案沒有修改返回304是好的,因為它只是回伺服器校驗一下是否有修改,而並沒有像200那樣重新請求資料。

2) if-unmodified-since: 

如果實體沒有任何修改,那麼就可以直接執行該請求, 而如果有修改,則返回乙個412 precondition failed狀態碼,並且拋棄該方法對應的行為操作(get方法除外). 

cache-control

(http1.1的常見頭)

1) public   

僅體現在響應頭,通知瀏覽器可以無條件的快取該響應。

2) private  

僅體現在響應頭,通知瀏覽器只針對單個使用者快取響應. 且可以具體指定某個欄位.如private –「username」

3) no-cache

a) 請求頭中:告訴瀏覽器回去伺服器取資料,並驗證你的快取(如果有的話)。

b) 響應頭中:告訴瀏覽器,一定要回伺服器校驗,不管有沒有快取資料。 如果確定沒有被改,可以使用快取中               的資料

4) no-store 

告訴瀏覽器任何情況下都不要被快取。

5) max-age

a) 請求頭中:強制響應瀏覽器,根據該值,校驗快取.即與自身的age值,與請求時間做比較.如果超出max-    age值,則強制去伺服器端驗證.以確保返回乙個新鮮的響應.其功能本質上與傳統的expires類似,但區別在於ex    pires是根據某個特定日期值做比較.一但快取者自身的時間不準確.則結果可能就是錯誤的.而max-age,顯然無    此問題. max-age的優先順序也是高於expires的.

b) 響應頭中:同上

http請求頭響應頭

今天的內容首先是http協議其中包括請求頭 request 和響應頭 response 請求頭中包含 accept 告訴伺服器,瀏覽器所支援的資料型別 accept charset 告訴伺服器,瀏覽器支援的字符集 accept encoding 告訴伺服器,瀏覽器所支援的資料解壓演算法 accept...

關於HTTP請求頭與響應頭

http請求頭格式 get 請求的方式 url 請求的目標資源 http 1.1 請求採用的協議和版本號 首部欄位名 值 accept 客戶端能接收的資源型別 accept language en us 客戶端接收的語言型別 connection keep alive 維護客戶端和服務端的連線關係 ...

http請求頭和響應頭

http請求頭如下格式 訊息頭詳解 1.accept 用於告訴伺服器,客戶機支援的資料型別 2.accept charset 用於告訴伺服器,客戶機採用的編碼 3.accept encoding 用於告訴伺服器,客戶機支援的壓縮格式 4.accept language 用於告訴伺服器,客戶機的語言環...