HTTP1 1常見狀態碼說明

2021-06-26 11:47:15 字數 1523 閱讀 3536

首先先說一下http常見的請求過程。

http(hypertext transfer protocol)超文字傳送協議,是一種詳細規定了瀏覽器和全球資訊網伺服器之間互相通訊的規則,通過網際網路傳送全球資訊網文件的資料,於應用層的物件導向的協議。

基本流程:客戶端(使用者**)給伺服器傳送請求,伺服器對請求端傳送響應的格式。大部分的http通訊都是由使用者**(user agent)發起的。在這個請求/響應鏈中經常會出現乙個或多個中間者。常見的中間者有三種:**(proxy),閘道器(gateway)和隧道(tunnel),這裡就不做深究了。

下面羅列幾個狀態碼,能更好的理解請求狀態,同時也便於我們處理非同步請求。

2xx:這一型別的狀態碼,代表請求已經成功被伺服器接收、理解、並收受。

200 ok

請求已經成功,請求所希望的響應頭或者資料體將隨此響應返回,看到它也就看到了成功。

3xx: 重定向

304 not modified

如果客戶端傳送了乙個帶條件的get請求且該請求已被允許,而文件的內容(自上次訪問以來或根據請求的條件)並沒有改變,則伺服器返回這個狀態碼。304響應禁止包含訊息體,因此始終以訊息頭後的第乙個空行結尾。

該響應必須包含以下的頭資訊: 

假如本響應請求使用了強快取驗證,那麼本次響應不應該包含其他實體頭;否則(例如,某個帶條件的get請求使用了弱快取驗證)本次響應禁止包含其他實體頭;這避免了快取了的實體內容和更新了的實體頭資訊之間的不一致。

假如某個304響應指明了當前某個實體沒有快取,那麼快取系統必須忽視這個響應,並且重**送不包含限制條件的請求。

假如接收到乙個要求更新某個快取條目的304響應,那麼快取系統必須更新整個條目以反映所有在響應中被更新的字段的值。

4xx: 客戶端錯誤

404 not found

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

5xx: 伺服器錯誤 

這類狀態碼代表了伺服器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是伺服器意識到以當前的軟硬體資源無法完成對請求的處理。

我最近就經常以下兩個錯誤,不穩定的開發環境非常影響開發效率和開發心情,以後如果看到以下的就直接大喊「網管!」哈~

502 bad gateway

作為閘道器或者**工作的伺服器嘗試執行請求時,從上游伺服器接收到無效的響應。

504 gateway timeout

作為閘道器或者**工作的伺服器嘗試執行請求時,未能及時從上游伺服器(uri標識出的伺服器,例如http、ftp、ldap)或者輔助伺服器(例如dns)收到響應。

注意:某些**伺服器在dns查詢超時時會返回400或者500錯誤

不多說了更多狀態碼內容見維基百科。

http請求常見狀態碼說明

403 禁止 伺服器拒絕請求。404 未找到 伺服器找不到請求的網頁。405 方法禁用 禁用請求中指定的方法。406 不接受 無法使用請求的內容特性響應請求的網頁。407 需要 授權 此狀態 與 401 未授權 類似,但指定請求者應當授權使用 408 請求超時 伺服器等候請求時發生超時。409 衝突...

HTTP 常見狀態碼

如果某項請求傳送到您的伺服器要求顯示您 上的某個網頁 例如,使用者通過瀏覽器訪問您的網頁或 googlebot抓取網頁時 伺服器將會返回 http 狀態碼響應請求。此狀態碼提供關於請求狀態的資訊,告訴 googlebot 關於您的 和請求的網頁的資訊。一些常見的狀態碼為 下面是 http 狀態碼的完...

HTTP 常見狀態碼

http 常見的狀態碼 1 開頭 表示客戶端相應某些動作 100 必須繼續發出請求 101 客戶要求伺服器根據請求轉化為http協議版本 2 開頭 表示請求成功 200 請求成功 3 開頭 表示頁面重定向 301 刪除請求資料 302 在其他url 發現請求資料 304 客戶端應執行了get操作 但...