接口測試:HTTP協議中的狀態碼

接口測試,錯誤返回碼和相應的原因

詳細分解:

1xx(臨時響應):表示臨時響應並需要請求者繼續執行操作的狀態代碼。

100  (繼續) 請求者應當繼續提出請求。 服務器返回此代碼表示已收到請求的第一部分,正在等待其餘部分。 

101  (切換協議) 請求者已要求服務器切換協議,服務器已確認並準備切換。

2xx (成功):表示成功處理了請求的狀態代碼。

注:200代表請求成,但是這並不意味着,返回的數據也是正確的

200  (成功)  服務器已成功處理了請求。

201  (已創建)  請求成功並且服務器創建了新的資源。

202  (已接受)  服務器已接受請求,但尚未處理。

203  (非授權信息)  服務器已成功處理了請求,但返回的信息可能來自另一來源。

204  (無內容)  服務器成功處理了請求,但沒有返回任何內容。

205  (重置內容) 服務器成功處理了請求,但沒有返回任何內容。

206  (部分內容)  服務器成功處理了部分 GET 請求。

3xx (重定向):接口重定向

300  (多種選擇)  針對請求,服務器可執行多種操作。 服務器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。

301  (永久移動)  請求的網頁已永久移動到新位置。 服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。

302  (臨時移動)  意味着接口將重定向到另一個URL中去

303  (查看其他位置) 請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼。

304  (未修改) 自從上次請求後,請求的網頁未修改過。 服務器返回此響應時,不會返回網頁內容。

305  (使用代理) 請求者只能使用代理訪問請求的網頁。 如果服務器返回此響應,還表示請求者應使用代理。

307  (臨時重定向)  服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。

4xx(請求錯誤):這些狀態代碼表示請求可能出錯,妨礙了服務器的處理。

400  (錯誤請求)Bad Request請求包含語法錯誤

原因:(1)輸入的參數多了或者少了(2)輸入的參數錯誤(3)有時候服務器請求超時也會造成400錯誤

401  (未授權)401 Unauthorized當前請求需要用戶驗證

403  (禁止)    Forbidden服務器已理解請求,但拒絕執行它

原因:出現這類情況一般是訪問這個接口需要一定的權限,但是訪問者沒有相應的訪問權限

解決方法:

          a.是否是登錄的用戶沒有訪問的權限;

          b.在服務端這個接口沒有配置訪問權限,即禁止任何用戶訪問

404  (未找到) 服務器找不到請求的網頁。

解決:仔細檢查接口的RUL是否有誤

405  (方法禁用)請求行中指定的方法不能用於請求相應的資源。

406  (不接受) 無法使用請求的內容特性響應請求的網頁。

407  (需要代理授權) 此狀態代碼與 401(未授權)類似,但指定請求者應當授權使用代理。

408  (請求超時)  服務器等候請求時發生超時。

409  (衝突)  服務器在完成請求時發生衝突。 服務器必須在響應中包含有關衝突的信息。

410  (已刪除)  如果請求的資源已永久刪除,服務器就會返回此響應。

411  (需要有效長度) 服務器不接受不含有效內容長度標頭字段的請求。

412  (未滿足前提條件) 服務器未滿足請求者在請求中設置的其中一個前提條件。

413  (請求實體過大) 服務器無法處理請求,因爲請求實體過大,超出服務器的處理能力。

414  (請求的 URI 過長) 請求的 URI(通常爲網址)過長,服務器無法處理。

415  (不支持的媒體類型) Unsupported Media Type對於當前請求的方法和所請求的資源,請求中提交的實體並不是服務器中所支持的格式,因此請求被拒絕

解決方法:

          a.查看是否加了請求頭部,一般來說必須要加的header是Content-Type:application/json;charset=utf-8;  

          b.在上傳文件的時候要特別注意,請求的頭部      Content-Type不是application/json格式,是multipart/form-data格式。

416  (請求範圍不符合要求) 如果頁面無法提供請求的範圍,則服務器會返回此狀態代碼。

417  (未滿足期望值) 服務器未滿足"期望"請求標頭字段的要求。

5xx(服務器錯誤)

這些狀態代碼表示服務器在嘗試處理請求時發生內部錯誤。 這些錯誤可能是服務器本身的錯誤,而不是請求出錯。

代碼  說明

500  (服務器內部錯誤)  服務器遇到錯誤,無法完成請求。

501  (尚未實施) 服務器不具備完成請求的功能。 例如,服務器無法識別請求方法時可能會返回此代碼。

502  (錯誤網關) 服務器作爲網關或代理,從上游服務器收到無效響應。

Bad Gateway作爲網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應

解決方法:檢查服務器

503  (服務不可用) Service Unavailable由於臨時的服務器維護或者過載,服務器當前無法處理請求。

504  Gateway Timeout作爲網關或者代理工作的服務器嘗試執行請求時,未能及時從上游服務器(URI標識出的服務器,例如HTTP、FTP、LDAP)或者輔助服務器(例如DNS)收到響應。 

505  (HTTP 版本不受支持) 服務器不支持請求中所用的 HTTP 協議版本

FTP

1xx – 肯定的初步答覆

這些狀態代碼指示一項操作已經成功開始,但客戶端希望在繼續操作新命令前得到另一個答覆。 110 重新啓動標記答覆。

120 服務已就緒,在 nnn 分鐘後開始。

125 數據連接已打開,正在開始傳輸。

150 文件狀態正常,準備打開數據連接。

2xx – 肯定的完成答覆

一項操作已經成功完成。客戶端可以執行新命令。 200 命令確定。

202 未執行命令,站點上的命令過多。

211 系統狀態,或系統幫助答覆。

212 目錄狀態。

213 文件狀態。

214 幫助消息。

215 NAME 系統類型,其中,NAME 是 Assigned Numbers 文檔中所列的正式系統名稱。

220 服務就緒,可以執行新用戶的請求。

221 服務關閉控制連接。如果適當,請註銷。

225 數據連接打開,沒有進行中的傳輸。

226 關閉數據連接。請求的文件操作已成功(例如,傳輸文件或放棄文件)。

227 進入被動模式 (h1,h2,h3,h4,p1,p2)。

230 用戶已登錄,繼續進行。

250 請求的文件操作正確,已完成。

257 已創建“PATHNAME”。

3xx – 肯定的中間答覆

該命令已成功,但服務器需要更多來自客戶端的信息以完成對請求的處理。 331 用戶名正確,需要密碼。

332 需要登錄帳戶。

350 請求的文件操作正在等待進一步的信息。

4xx – 瞬態否定的完成答覆

該命令不成功,但錯誤是暫時的。如果客戶端重試命令,可能會執行成功。

421 服務不可用,正在關閉控制連接。如果服務確定它必須關閉,將向任何命令發送這一應答。

425 無法打開數據連接。

426 Connection closed; transfer aborted.

450 未執行請求的文件操作。文件不可用(例如,文件繁忙)。

451 請求的操作異常終止:正在處理本地錯誤。

452 未執行請求的操作。系統存儲空間不夠。

5xx – 永久性否定的完成答覆

該命令不成功,錯誤是永久性的。如果客戶端重試命令,將再次出現同樣的錯誤。

500 語法錯誤,命令無法識別。這可能包括諸如命令行太長之類的錯誤。

501 在參數中有語法錯誤。

502 未執行命令。

503 錯誤的命令序列。

504 未執行該參數的命令。

530 未登錄。

532 存儲文件需要帳戶。

550 未執行請求的操作。文件不可用(例如,未找到文件,沒有訪問權限)。

551 請求的操作異常終止:未知的頁面類型。

552 請求的文件操作異常終止:超出存儲分配(對於當前目錄或數據集)。

553 未執行請求的操作。不允許的文件名。

常見的 FTP 狀態代碼及其原因

150 – FTP 使用兩個端口:21 用於發送命令,20 用於發送數據。狀態代碼 150 表示服務器準備在端口 20 上打開新連接,發送一些數據。

226 – 命令在端口 20 上打開數據連接以執行操作,如傳輸文件。該操作成功完成,數據連接已關閉。

230 – 客戶端發送正確的密碼後,顯示該狀態代碼。它表示用戶已成功登錄。

331 – 客戶端發送用戶名後,顯示該狀態代碼。無論所提供的用戶名是否爲系統中的有效帳戶,都將顯示該狀態代碼。

426 – 命令打開數據連接以執行操作,但該操作已被取消,數據連接已關閉。

530 – 該狀態代碼表示用戶無法登錄,因爲用戶名和密碼組合無效。如果使用某個用戶帳戶登錄,可能鍵入錯誤的用戶名或密碼,也可能選擇只允許匿名訪問。如果使用匿名帳戶登錄,IIS 的配置可能拒絕匿名訪問。

550 – 命令未被執行,因爲指定的文件不可用。例如,要 GET 的文件並不存在,或試圖將文件 PUT 到您沒有寫入權限的目錄。

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