最近在學習計算機網絡以及JavaWeb,對Http響應協議和跳轉的幾種方式以及跳轉的狀態碼有一些自己的總結認識:
-
第一次訪問一個地址並訪問成功:200
-
不是第一次訪問一個地址:
- 對於瀏覽器中的緩存,服務器端無變化:304
- 瀏覽器端緩存的頁面已經在服務器端發生改變:200(這裏我在服務器端已經修改了login.html,再次訪問就會是200:)
- 對於瀏覽器中的緩存,服務器端無變化:304
-
跳轉的兩種方式(假定從login.html頁面跳轉至fail.html/success.html頁面):
- 服務端跳轉:瀏覽器地址欄的地址url不發生改變,會在服務器內部訪問目標地址,並返回文件對象,且跳轉前頁面(Login)的狀態碼爲:200,沒有跳轉後頁面(fail/success)的數據,
此時刷新瀏覽器頁面會報錯!
服務端跳轉: - 客戶端跳轉(2種方式)
- 臨時客戶端跳轉(普通的、默認客戶端跳轉方式)
- 對於跳轉前(Login)頁面:302:重定向,表示二次跳轉
- 對於跳轉後頁面(fail/success)(200/304)
參照是不是第一次訪問和緩存是否修改
臨時客戶端跳轉:
- 永久客戶端跳轉
- 對於跳轉前(Login)頁面:301 , 表示永久客戶端跳轉, 涉及SEO範疇(301跳轉SEO詳情)
- 對於跳轉後頁面(fail/success)(200/304)
參照是不是第一次訪問和緩存是否修改
永久客戶端跳轉:
- 臨時客戶端跳轉(普通的、默認客戶端跳轉方式)
- 服務端跳轉:瀏覽器地址欄的地址url不發生改變,會在服務器內部訪問目標地址,並返回文件對象,且跳轉前頁面(Login)的狀態碼爲:200,沒有跳轉後頁面(fail/success)的數據,
-
404:請求的資源沒有找到,說明客戶端錯誤的請求了不存在的資源;
-
500:請求資源找到了,但服務器內部出現了錯誤;