HTTP狀態碼,forward與redirect的區別

轉發是服務器行爲,重定向是客戶端行爲。

從地址欄上來講:

forward的地址欄不會變化,響應的內容是服務器通過其他URL讀取到的;

redirect的地址欄會變化,是服務器返回301/302狀態碼告訴客戶端去請求新的URL地址

從數據共享上來講:

由於在forward中,只有一次request,服務器將request和response交給下一個地址,所以多個轉發頁可以共享到request中的數據;

redirect發生了兩次request,所以不能共享數據

HTTP狀態碼

分類:

2**:成功,操作被成功接收並處理

3**:重定向,需要進一步的操作以完成請求

4**:客戶端錯誤,包含語法錯誤或無法完成請求

5**:服務器錯誤,服務器在執行過程中發生了錯誤

狀態碼列表:

200:表示請求已成功,請求所希望的響應頭或數據體將隨此響應返回

202:服務器已接受請求,但尚未處理


301:被請求的資源已永久移動到新位置

302:請求的資源臨時從不同的URI響應請求,但請求者應繼續使用原有位置來進行以後的請求。一般重定向都是這個狀態碼。

304:自從上次請求後,請求的網頁未修改過。如jq文件,logo


400:客戶端請求的語法錯誤,服務器無法理解

403:服務器已經理解請求,但是拒絕執行它

404:請求失敗,請求所希望得到的資源未被在服務器上發現


500:服務器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般是服務器的程序碼出錯時出現

502: 作爲網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應。例如Nginx轉發請求後,無法 收到或理解 響應時,返回的狀態碼。

503:由於臨時的服務器維護或者過載,服務器暫時無法處理請求

504: 作爲網關或者代理工作的服務器嘗試執行請求時,未能及時從上游服務器收到響應。例如當Nginx超過配置的超時時間還沒有收到響應時,就返回504錯誤。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章