教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

Java培訓(xùn)之常用HTTP狀態(tài)碼

更新時間:2016年04月25日15時52分 來源:傳智播客Java培訓(xùn)學(xué)院 瀏覽次數(shù):

1.常用狀態(tài)碼介紹

http響應(yīng)協(xié)議中,我們通過HttpWatch抓包抓取到響應(yīng)信息。其中響應(yīng)首行中就包含一個狀態(tài)碼。狀態(tài)碼由三位數(shù)字組成,表示請求是否被理解或者被滿足。HTTP響應(yīng)狀態(tài)碼的第一個數(shù)字定義了響應(yīng)的類別,后面兩位沒有具體分類,第一個數(shù)字有五種可能的取值,具體介紹如下所示:
  • 1xx :表示請求已接收,需要繼續(xù)處理。
  • 2xx :表示請求已經(jīng)成功被服務(wù)器接收、理解、并接受
  • 3xx :為完成請求,客戶端需要進(jìn)一步細(xì)化請求
  • 4xx :客戶端的請求有錯誤
  • 5xx :服務(wù)器端出現(xiàn)錯誤
通過上面的介紹,現(xiàn)在我們來學(xué)習(xí)幾個具體、常用的狀態(tài)碼,如下所示:
狀態(tài)碼 說明
200 請求成功,瀏覽器會把響應(yīng)回來的信息顯示在瀏覽器端。
404 表示客戶端出錯,比如說在瀏覽器端請求一個不存在的資源,這時瀏覽器端會出現(xiàn)404狀態(tài)碼。
405 客戶端錯誤的一種,表示當(dāng)前的請求方式不支持。比如說服務(wù)器端只對GET請求做了處理,而客戶端的請求是post方式的,這個時候會出現(xiàn)405狀態(tài)碼。
500 服務(wù)器端錯誤,比如說服務(wù)器端代碼出現(xiàn)空指針等異常,瀏覽器就會收到服務(wù)器發(fā)送的500狀態(tài)碼。
302 表示重定向。比如說瀏覽器訪問一個資源,服務(wù)器響應(yīng)給瀏覽器一個302的狀態(tài)碼,并且通過響應(yīng)頭Location發(fā)送了一個新的url,告訴瀏覽器去請求這個url。這就是重定向。
304 第一訪問一個資源后,瀏覽器會將該資源緩存到本地,第二次再訪問該資源時,如果該資源沒有發(fā)生改變,那么服務(wù)器響應(yīng)給瀏覽器304狀態(tài)碼,告訴瀏覽器使用本地緩存的資源。

2.304狀態(tài)碼詳解

通過常用狀態(tài)碼的介紹,我們對304狀態(tài)碼有了一定的了解,現(xiàn)在通過一張圖來詳細(xì)了解該狀態(tài)碼,如圖1-1所示:

圖1-1 304狀態(tài)碼詳解
現(xiàn)在,對圖1-1進(jìn)行分析:
(1)瀏覽器第一次請求資源,index.jsp。
(2)服務(wù)器端響應(yīng)成功,發(fā)送狀態(tài)碼200,響應(yīng)信息中包含一個Last-Modified響應(yīng)頭,該響應(yīng)頭的值是index.jsp文件的最后修改時間,如2014/11/10 6:51。
(3)瀏覽器接收到服務(wù)器發(fā)送過來的響應(yīng)信息,將結(jié)果顯示出來,并將響應(yīng)內(nèi)容及時間緩存在本地。
(4)瀏覽器第二次訪問這個index.jsp頁面,在請求信息中包含If-Modified-Since請求頭,該請求頭的值是瀏覽器緩存在本地的時間,也是第一次請求時服務(wù)器響應(yīng)回來的時間:2014/11/10 6:51。
(5)服務(wù)器收到瀏覽器的請求,獲得請求頭If-Modified-Since的值,將這個值與服務(wù)器端index.jsp文件的最后修改時間進(jìn)行比較,如果一致,表示服務(wù)器端沒有對index.jsp進(jìn)行修改,瀏覽器緩存的是最新的,這時服務(wù)器會響應(yīng)304狀態(tài)碼給瀏覽器。如果不一致,則正常響應(yīng),將最新的資源響應(yīng)給瀏覽器。
在上面的304詳解時,提到了兩個頭:
  • Last-Modified:這個是響應(yīng)頭,是瀏覽器第一次請求一個資源時,服務(wù)器發(fā)送給瀏覽器的,值為請求內(nèi)容最后的修改時間。
If-Modified-Since:這個是請求頭,瀏覽器第二次請求一個資源時,瀏覽器發(fā)送給服務(wù)器的,把第一次服務(wù)器發(fā)送給它的時間歸還給服務(wù)器。






本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院
首發(fā):http://www.xamj520.com/javaee 
0 分享到:
和我們在線交談!