1. 程式人生 > >常見的狀態碼

常見的狀態碼

get 多個 mov log not-found 不同的 http 瀏覽器 網站建設

最近在復習http,把狀態碼的內容梳理一下。

2XX 成功

200 OK

表示客戶端的請求被服務端正常處理。
使用GET方法時,對應請求資源的實體會作為響應返回。

204 No Content

表示客戶端的請求被服務端正常處理,但響應報文中沒有實體的主體部分,也不允許返回任何實體的主體。瀏覽器得到了204響應的話,將不會發生頁面的更新。
一般在只需要往服務端發送信息而不用往客戶端發響應信息的時候使用。

所以對於一些提交到服務器處理的數據,只需要返回是否成功的情況下,可以考慮使用狀態碼204來作為返回信息,從而省掉多余的數據傳輸。

206 Partial Content

表示客戶端發送了範圍請求,而且服務端成功地返回了請求的範圍的內容。跟Content-Range有關。

3XX 重定向

301 Moved Permanently

永久重定向。表示請求的資源已被分配了新的URI,以後應使用資源現在所指的URI。

在我們網站建設中,時常會遇到需要網頁重定向的情況:像網站調整,改變了網站的目錄結構,網頁被移到一個新地址。或者網頁擴展名改變,如因應用需要把.php改成.Html或.shtml,在這些情況下,如果不做重定向,則用戶收藏夾或搜索引擎數據庫中舊地址只能讓訪問客戶得到一個404頁面錯誤信息,訪問流量白白喪失。又比如某些註冊了多個域名的網站,也需要通過重定向讓訪問這些域名的用戶自動跳轉到主站點,等等。--百度百科

302 Found

臨時性重定向。跟301類似,不過這個表示的只是暫時的。

303 See Other

表示由於請求對應的資源存在著另一個URI,應使用GET方法定向獲取請求的資源。

服務器在返回303的同時,應該(SHOULD)返回一個不同的URI,並放到Location字段中。
客戶端收到303後,可以使用這個URI獲取新的資源(必須使用GET獲取新資源)
303的響應不能被緩存,但是Get到的新資源是可以被緩存的。

304 Not Modified

表示客戶端向服務器發送附帶條件的請求時,服務端允許訪問資源但未滿足條件。304作為狀態碼時,不包含任何響應的主題部分。

304雖然被劃分在3XX類別中,但是和重定向沒有關系。

我們經常把304和緩存看成一體,但其實緩存只是304狀態碼的其中一種情況吧。

4XX 客戶端錯誤

400 Bad Request

表示請求報文中存在語法錯誤。

401 Unauthorized

表示發送的請求需要有通過http認證的認證信息。

403 Forbidden

表示服務器拒絕了客戶端對資源的請求。

404 Not Found

萬惡的404
表示服務器上無法找到請求的資源,也可以在服務器端拒絕請求時不想說明理由時使用。

5XX 服務器錯誤

表示服務器本身發生錯誤。

500 Internal Server Error

表示服務端在執行請求時發生了錯誤,也有可能時web應用的bug或故障。

503 Service Unavailable

表示因暫時超載或臨時維護,服務端目前無法處理 HTTP 請求。服務端可能會在一段時間後恢復正常。

可以寫入 RetryAfter 首部字段再返回給客戶端,告知解除這個情況需要的時間。

常見的狀態碼