了解下面一些http狀態碼的含義

2021-08-23 12:14:38 字數 2496 閱讀 6395

請求碼

含義200

請求已成功,請求所希望的響應頭或資料體將隨此響應返回。

201請求已經被實現,而且有乙個新的資源已經依據請求的需要而建立,且其 uri 已經隨location 頭資訊返回。假如需要的資源無法及時建立的話,應當返回 『202 accepted』。

301被請求的資源已永久移動到新位置,並且將來任何對此資源的引用都應該使用本響應返回的若干個 uri 之一。如果可能,擁有鏈結編輯功能的客戶端應當自動把請求的位址修改為從伺服器反饋回來的位址。除非額外指定,否則這個響應也是可快取的。   新的永久性的 uri 應當在響應的 location 域中返回。除非這是乙個 head 請求,否則響應的實體中應當包含指向新的 uri 的超連結及簡短說明。   如果這不是乙個 get 或者 head 請求,因此瀏覽器禁止自動進行重定向,除非得到使用者的確認,因為請求的條件可能因此發生變化。   注意:對於某些使用 http/1.0 協議的瀏覽器,當它們傳送的 post 請求得到了乙個301響應的話,接下來的重定向請求將會變成 get 方式。

300被請求的資源有一系列可供選擇的回饋資訊,每個都有自己特定的位址和瀏覽器驅動的商議資訊。使用者或瀏覽器能夠自行選擇乙個首選的位址進行重定向。   除非這是乙個 head 請求,否則該響應應當包括乙個資源特性及位址的列表的實體,以便使用者或瀏覽器從中選擇最合適的重定向位址。這個實體的格式由 content-type 定義的格式所決定。瀏覽器可能根據響應的格式以及瀏覽器自身能力,自動作出最合適的選擇。當然,rfc 2616規範並沒有規定這樣的自動選擇該如何進行。   如果伺服器本身已經有了首選的回饋選擇,那麼在 location 中應當指明這個回饋的 uri;瀏覽器可能會將這個 location 值作為自動重定向的位址。此外,除非額外指定,否則這個響應也是可快取的。

303對應當前請求的響應可以在另乙個 uri 上被找到,而且客戶端應當採用 get 的方式訪問那個資源。這個方法的存在主要是為了允許由指令碼啟用的post請求輸出重定向到乙個新的資源。這個新的 uri 不是原始資源的替代引用。同時,303響應禁止被快取。當然,第二個請求(重定向)可能被快取。   新的 uri 應當在響應的 location 域中返回。除非這是乙個 head 請求,否則響應的實體中應當包含指向新的 uri 的超連結及簡短說明。   注意:許多 http/1.1 版以前的 瀏覽器不能正確理解303狀態。如果需要考慮與這些瀏覽器之間的互動,302狀態碼應該可以勝任,因為大多數的瀏覽器處理302響應時的方式恰恰就是上述規範要求客戶端處理303響應時應當做的。

304如果客戶端傳送了乙個帶條件的 get 請求且該請求已被允許,而文件的內容(自上次訪問以來或者根據請求的條件)並沒有改變,則伺服器應當返回這個狀態碼。304響應禁止包含訊息體,因此始終以訊息頭後的第乙個空行結尾。   該響應必須包含以下的頭資訊:   date,除非這個伺服器沒有時鐘。假如沒有時鐘的伺服器也遵守這些規則,那麼**伺服器以及客戶端可以自行將 date 字段新增到接收到的響應頭中去(正如rfc 2068中規定的一樣),快取機制將會正常工作。   etag 和/或 content-location,假如同樣的請求本應返回200響應。   expires, cache-control,和/或vary,假如其值可能與之前相同變數的其他響應對應的值不同的話。   假如本響應請求使用了強快取驗證,那麼本次響應不應該包含其他實體頭;否則(例如,某個帶條件的 get 請求使用了弱快取驗證),本次響應禁止包含其他實體頭;這避免了快取了的實體內容和更新了的實體頭資訊之間的不一致。   假如某個304響應指明了當前某個實體沒有快取,那麼快取系統必須忽視這個響應,並且重**送不包含限制條件的請求。   假如接收到乙個要求更新某個快取條目的304響應,那麼快取系統必須更新整個條目以反映所有在響應中被更新的字段的值。

401當前請求需要使用者驗證。該響應必須包含乙個適用於被請求資源的 www-authenticate 資訊頭用以詢問使用者資訊。客戶端可以重複提交乙個包含恰當的 authorization 頭資訊的請求。如果當前請求已經包含了 authorization 證書,那麼401響應代表著伺服器驗證已經拒絕了那些證書。如果401響應包含了與前乙個響應相同的身份驗證詢問,且瀏覽器已經至少嘗試了一次驗證,那麼瀏覽器應當向使用者展示響應中包含的實體資訊,因為這個實體資訊中可能包含了相關診斷資訊。參見rfc 2617。

403伺服器已經理解請求,但是拒絕執行它。與401響應不同的是,身份驗證並不能提供任何幫助,而且這個請求也不應該被重複提交。如果這不是乙個 head 請求,而且伺服器希望能夠講清楚為何請求不能被執行,那麼就應該在實體內描述拒絕的原因。當然伺服器也可以返回乙個404響應,假如它不希望讓客戶端獲得任何資訊。

4001、語義有誤,當前請求無法被伺服器理解。除非進行修改,否則客戶端不應該重複提交這個請求。   2、請求引數有誤。

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

500伺服器遇到了乙個未曾預料的狀況,導致了它無法完成對請求的處理。一般來說,這個問題都會在伺服器的程式碼出錯時出現。

一些常見的HTTP狀態碼

在面試的時候經常會被提問到一些關於狀態碼的意義問題,今天就寫一篇部落格,來總結一些常見的狀態碼 關於狀態碼,在 http 這本書裡給出了這樣的總結 表示客戶端所發出的請求被服務端正常處理 表示服務端已經成功處理請求,但在返回的報文中不含實體的主體部分,並且不允許返回任何實體的主體。表示客戶端進行了範...

常見的一些 HTTP狀態碼 404 502 503

本文知識點基本來自於維基百科 這兒也有一些內容 論閱讀的舒服程度還是維基百科的看起來舒服些 請求已成功,請求所希望的響應頭或資料體將隨此響應返回。實際的響應將取決於所使用的請求方法。在get請求中,響應將包含與請求的資源相對應的實體。在post請求中,響應將包含描述或操作結果的實體。由於明顯的客戶端...

一些常見的狀態碼

1xx 臨時響應 表示臨時響應並需要請求者繼續執行操作的狀態碼。100 繼續 請求者應當繼續提出請求。伺服器返回此 表示已收到請求的第一部分,正在等待其餘部分。101 切換協議 請求者已要求伺服器切換協議,伺服器已確認並準備切換。2xx 成功 表示成功處理了請求的狀態碼。200 成功 伺服器已成功處...