1. 程式人生 > >淺談http返回碼

淺談http返回碼

參加了很多網際網路公司的筆試,印象深刻的是深信服,阿里巴巴和拼多多三家公司。大概因為這三家考試內容比較貼切我心中的前端筆試題。每一家或多或少都涉及了http返回碼的問題。下面是本人自己總結的關於http常見的一些返回碼。

1XX系列:指定客戶端應相應的某些動作,代表請求已被接受,需要繼續處理。由於 HTTP/1.0 協議中沒有定義任何 1xx 狀態碼,所以除非在某些試驗條件下,伺服器禁止向此類客戶端傳送 1xx 響應。

 

  2XX系列:代表請求已成功被伺服器接收、理解、並接受。這系列中最常見的有200、201狀態碼。
  200狀態碼:表示請求已成功,請求所希望的響應頭或資料體將隨此響應返回
  201狀態碼:表示請求成功並且伺服器建立了新的資源,且其 URI 已經隨Location 頭資訊返回。假如需要的資源無法及時建立的話,應當返回 '202 Accepted'

  202狀態碼:伺服器已接受請求,但尚未處理

 

  3XX系列:代表需要客戶端採取進一步的操作才能完成請求,這些狀態碼用來重定向,後續的請求地址(重定向目標)在本次響應的 Location 域中指明。這系列中最常見的有301、302狀態碼。
  301狀態碼:被請求的資源已永久移動到新位置。伺服器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。

  302狀態碼:(需要強制重新整理)請求的資源臨時從不同的URI響應請求,但請求者應繼續使用原有位置來進行以後的請求

     304自從上次請求後,請求的網頁未修改過。伺服器返回此響應時,不會返回網頁內容。 如果網頁自請求者上次請求後再也沒有更改過,您應將伺服器配置為返回此響應(稱為 If-Modified-Since HTTP 標頭)。

  4XX系列:表示請求錯誤。代表了客戶端看起來可能發生了錯誤,妨礙了伺服器的處理。常見有:401、404狀態碼。
  401狀態碼:請求要求身份驗證。 對於需要登入的網頁,伺服器可能返回此響應。
  403狀態碼:(資源不允許使用)伺服器已經理解請求,但是拒絕執行它。與401響應不同的是,身份驗證並不能提供任何幫助,而且這個請求也不應該被重複提交。

  404狀態碼:請求失敗,請求所希望得到的資源未被在伺服器上發現。沒有資訊能夠告訴使用者這個狀況到底是暫時的還是永久的。假如伺服器知道情況的話,應當使用410狀態碼來告知舊資源因為某些內部的配置機制問題,已經永久的不可用,而且沒有任何可以跳轉的地址。404這個狀態碼被廣泛應用於當伺服器不想揭示到底為何請求被拒絕或者沒有其他適合的響應可用的情況下。

 

  5xx系列:代表了伺服器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是伺服器意識到以當前的軟硬體資源無法完成對請求的處理。常見有500、503狀態碼。
  500狀態碼:伺服器遇到了一個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在伺服器的程式碼出錯時出現。
  503狀態碼:由於臨時的伺服器維護或者過載,伺服器當前無法處理請求。通常,這個是暫時狀態,一段時間會恢復

其中:302,403,404,503是筆試中常見的。

更多的詳見:http://www.runoob.com/http/http-status-codes.html