Java學習|HTTP請求頭
阿新 • • 發佈:2018-11-12
https://www.cnblogs.com/honghong87/articles/6941436.html
常見http請求報文頭屬性
Accept:告訴服務端,客戶端接受什麼型別的響應,例如:
Accept:text/plan 表示純文字
Accept的值可以是一個或多個midia type
midia type介紹:
https://en.wikipedia.org/wiki/Media_type
cookie:客戶端的cookie通過這個報文頭屬性傳遞給服務端。
cookie中有一個sessionid類似的屬性,將cookie於session繫結起來。
referer:表示這個請求是從哪個url過來的。
cache-control:對快取進行控制。
如下:Ca-Control:no-cache 不要在客戶端快取
如果沒有選擇no-cache,Cache-Control有兩種選擇:
max-age>0 直接從瀏覽器快取讀取
Max-age<=0 向伺服器傳送http請求,根據請求頭判斷該資源是否有修改,有的話返回200,無返回304
常見響應狀態碼:
200:請求成功
303:See Other redirect到其他頁面
304:Not Modified
如果返回狀態碼304,表示這是個條件請求。請求頭中有兩個引數:if-Modified-Since和if-None-Match。
當瀏覽器中快取了目標資源但不確定該資源是否是最新版本時候,會發送一個條件請求。包含請求頭if-Modified-Since,他的值是伺服器上次
返回的響應頭中的Last-Modified值,還會提供一個if-None-Match請求頭,值為伺服器上次返回的ETag響應頭的值。伺服器會校驗這兩個請求頭
的值,判斷客戶端快取的值是否是最新的。
500 :Internal Server Error
伺服器錯誤,去改bug吧
狀態碼全介紹:
https://en.wikipedia.org/wiki/List_of_HTTP_status_codes
常見Http響應報文頭屬性:
cache-control:告訴客戶端對快取該如何控制控制。
如下:max-age=3600 告訴客戶端快取3600秒,也就是在3600秒內,客戶端再次訪問會直接從快取中讀取。
ETag:一個響應服務端資源版本的報文頭屬性,如果服務端資源改變了,這個ETag會相應發生變化。是Cache-Control的有益補充。
Location:我們在jsp中如果想讓頁面Redirect到A頁面中,其實是讓客戶端再發一個請求到A頁面,這個需要Redirect到A頁面的URL,就是通過響
應報文頭的Location屬性告知客戶端的。