搜尋
首頁運維安全HTTP的回應狀態碼有哪些

HTTP是一個應用層協議,雖然在2015年已推出HTTP/2版本,並被主要的web瀏覽器和web伺服器支援。

它的主要特點可概括如下:

支援客戶/伺服器模式。

簡單快速:客戶向伺服器要求服務時,只需傳送請求方法和路徑。由於HTTP協定簡單,使得HTTP伺服器的程式規模小,因而通訊速度很快。

靈活:HTTP允許傳輸任意類型的資料物件。正在傳輸的類型由Content-Type加以標記。

無連線:無連線的意義是限制每次連線只處理一個請求。伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線。採用這種方式可以節省傳輸時間。

無狀態:HTTP協定是無狀態協定。無狀態是指協議對於事務處理沒有記憶能力。缺少狀態意味著如果後續處理需要前面的訊息,則它必須重傳,這可能導致每次連接傳送的資料量增加。另一方面,在伺服器不需要先前資訊時它的應答就較快。為了解決這個問題, Web程式引進了Cookie機制來維護狀態。

另外,HTTP請求封包和回應封包都是由開始行(對於請求訊息,開始行就是請求行,對於回應訊息,開始行就是狀態行),訊息標頭(可選),空白行(只有CRLF的行),訊息正文(可選)組成。

那麼身為軟體測試員,了解一些伺服器回傳的HTTP狀態的意思是必不可少的,只有弄清楚這些狀態碼,工作中才會得心應手,下面我們就來全面的了解下HTTP狀態代碼:

回應狀態碼

狀態代碼由三位數字組成,第一個數字定義了回應的類別,且有五種可能取值。

1xx:指示訊息--表示請求已接收,繼續處理。

2xx:成功--表示請求已被成功接收、理解、接受。

3xx:重定向--要完成請求必須進行更進一步的操作。

4xx:客戶端錯誤--請求有語法錯誤或請求無法實現。

5xx:伺服器端錯誤--伺服器未能實現合法的請求。

常用狀態碼:

1xx - 訊息提示

這些狀態碼表示暫時的回應。客戶端在收到常規回應之前,應準備接收一個或多個1xx 回應。

· 100 - Continue 初始的請求已被接受,客戶應繼續發送請求的其餘部分。 

· 101 - Switching Protocols 伺服器將遵循客戶的請求轉換到另一種協定。

2xx - 成功

這類狀態代碼表示伺服器成功地接受了客戶端請求。

· 200 - OK 一切正常,對GET和POST請求的應答文件跟在後面。 

· 201 - Created 伺服器已經建立了文檔,Location頭給出了它的URL。 

· 202 - Accepted 已經接受請求,但處理尚未完成。 

· 203 - Non-Authoritative Information 文件已經正常地返回,但一些應答頭可能不正確,因為使用的是文檔的拷貝,非權威性資訊。

· 204 - No Content 沒有新文檔,瀏覽器應該繼續顯示原來的文檔。如果使用者定期地刷新頁面,而Servlet可以確定使用者文件足夠新,這個狀態代碼是很有用的。 

· 205 - Reset Content 沒有新的內容,但瀏覽器應該重設它所顯示的內容。用來強制瀏覽器清除表單輸入內容。 

· 206 - Partial Content 客戶發送了一個帶有Range頭的GET請求(分塊請求),伺服器完成了它。

3xx - 重定向

客戶端瀏覽器必須採取更多動作來實作請求。例如,瀏覽器可能必須請求伺服器上的不同的頁面,或透過代理伺服器重複該請求。

· 300 - Multiple Choices 客戶請求的文件可以在多個位置找到,這些位置已經在傳回的文件內列出。如果伺服器要提出優先選擇,則應該在Location應答頭指明。 

· 301 - Moved Permanently 客戶要求的文件在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地存取新的URL。 

· 302 - Found 類似301,但新的URL應該被視為臨時性的替代,而不是永久性的。注意,在HTTP1.0中對應的狀態信是「Moved Temporatily」。當出現該狀態碼時,瀏覽器能夠自動存取新的URL,因此它是一個很有用的狀態碼。注意這個狀態代碼有時候可以和301替換使 用。有的伺服器回傳301,有的則回傳302。嚴格來說,我們只能假定只有當原來的請求是GET時瀏覽器才會自動重定向。請參閱307。

· 303 - See Other 類似301/302,不同之處在於,如果原來的請求是POST,Location頭指定的重定向目標文件應該透過GET擷取。 

· 304 - Not Modified 用戶端有緩衝的文件並發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文件)。伺服器告訴客戶,原來緩衝的文件還可以繼續使用。

· 305 - Use Proxy 客戶請求的文件應該透過Location頭所指明的代理伺服器擷取(HTTP 1.1新)。 

· 307 - Temporary Redirect 和302(Found)相同。許多瀏覽器會錯誤地回應302應答進行重定向,即使原來的請求是POST,即使它實際上只能在POST請求的應答是303時 才能重定向。由於這個原因,HTTP 1.1新增了307,以便更加清除地區分幾個狀態代碼:當出現303應答時,瀏覽器可以跟隨重定向的GET和POST請求;如果是307應答,則瀏覽器只能跟隨對GET請求的重定向。

4xx - 客戶端錯誤

這些狀態代碼表示,請求可能出錯,已妨礙了伺服器對請求的處理。

· 400 - Bad Request (錯誤請求) 伺服器不理解請求的語法。 

· 401 - Unauthorized (未授權) 請求要求進行身份驗證。登入後,伺服器可能會傳回對頁面的此回應。應答中會包含一個WWW-Authenticate頭,瀏覽器據此顯示使用者名字/密碼對話框,然後在填寫適當的Authorization頭後再次發出請求。 IIS 定義了許多不同的 401 錯誤,它們指明更為具體的錯誤原因。這些特定的錯誤代碼在瀏覽器中顯示,但不在 IIS 日誌中顯示:

· 401.1 - 登入失敗。

· 401.2 - 伺服器設定導致登入失敗。

· 401.3 - 由於 ACL 對資源的限製而未獲得授權。

· 401.4 - 篩選器授權失敗。

· 401.5 - ISAPI/CGI 應用程式授權失敗。

· 401.7 – 存取被 Web 伺服器上的 URL 授權原則拒絕。這個錯誤代碼為 IIS 6.0 所專用。

· 403 - Forbidden(已禁止) 伺服器拒絕要求。通常由於伺服器上檔案或目錄的權限設定導致。禁止存取:IIS 定義了許多不同的 403 錯誤,它們指明更具體的錯誤原因:

· 403.1 - 執行存取被禁止。

· 403.2 - 讀取存取被禁止。

· 403.3 - 寫入存取被禁止。

· 403.4 - 要求 SSL。

· 403.5 - 要求 SSL 128。

· 403.6 - IP 位址被拒絕。

· 403.7 - 要求客戶端憑證。

· 403.8 - 網站存取被拒絕。

· 403.9 - 使用者數量過多。

· 403.10 - 配置無效。

· 403.11 - 密碼更改。

· 403.12 - 拒絕存取對映表。

· 403.13 - 客戶端憑證被撤銷。

· 403.14 - 拒絕目錄清單。

· 403.15 - 超出客戶端存取許可。

· 403.16 - 用戶端憑證不受信任或無效。

· 403.17 - 用戶端憑證已過期或尚未生效。

· 403.18 - 在目前的應用程式集區中不能執行所要求的 URL。這個錯誤代碼為 IIS 6.0 所專用。

· 403.19 - 不能為這個應用程式集區中的客戶端執行 CGI。這個錯誤代碼為 IIS 6.0 所專用。

· 403.20 - Passport登入失敗。這個錯誤代碼為 IIS 6.0 所專用。

· 404 - Not Found(找不到) 伺服器找不到要求的網頁。例如,如果請求是針對伺服器上不存在的網頁進行的,那麼,伺服器通常會傳回此程式碼。 

· 404.0 -(無) – 沒有找到檔案或目錄。

· 404.1 - 無法在所要求的連接埠上存取 Web 網站。

· 404.2 - Web 服務擴充功能鎖定策略阻止本請求。

· 404.3 - MIME 對映策略阻止本請求。

· 405 - Method Not Allowed 請求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)對指定的資源不適用,用來存取本頁的HTTP 謂詞不被允許(方法不被允許)

· 406 - Not Acceptable 指定的資源已經找到,但它的MIME類型和客戶在Accpet頭中所指定的不相容,客戶端瀏覽器不接受所請求頁面的MIME 類型。 

· 407 - Proxy Authentication Required (需要代理授權) 此狀態代碼與 401(未授權)類似,但卻指定了請求者應使用代理權進行授權。如果伺服器傳回此回應,那麼,伺服器也會指明請求者應使用的代理程式。

· 408 - Request Timeout 在伺服器許可的等待時間內,客戶一直沒有發出任何請求。客戶可以在以後重複同一請求。

· 409 - Conflict (衝突) 伺服器在完成請求時發生衝突。伺服器必須包含有關回應中所發生的衝突的資訊。伺服器在回應與前一個請求相衝突的 PUT 請求時可能會傳回此程式碼,同時會提供兩個請求的差異清單。

· 410 - Gone 所要求的文件已經不再可用,而且伺服器也不知道應該重定向到哪一個位址。它和404的不同在於,返回407表示文檔永久地離開了指定的位置,而404表示由於未知的原因文檔不可用。

· 411 - Length Required (需要有效長度) 伺服器不會接受包含無效內容長度標頭欄位的請求,除非客戶傳送一個Content-Length頭。

· 412 - Precondition Failed 請求頭中指定的一些前提條件失敗。

· 413 – Request Entity Too Large 目標文件的大小超過伺服器目前願意處理的大小。如果伺服器認為自己能夠稍後再處理該請求,則應該提供一個Retry-After頭。

· 414 - Request URI Too Long URI太長。 

· 415 – 無法支援的媒體類型。

· 416 – Requested Range Not Satisfiable 伺服器無法滿足客戶在請求中指定的Range頭。

·417 – 執行失敗。

· 423 – 鎖定的錯誤。

5xx - 伺服器錯誤

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

· 500 - Internal Server Error(伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。 

· 500.12 - 應用程式正忙於在 Web 伺服器上重新啟動。

· 500.13 - Web 伺服器太忙。

· 500.15 - 不允許直接要求 Global.asa。

· 500.16 – UNC 授權憑證不正確。這個錯誤代碼為 IIS 6.0 所專用。

· 500.18 – URL 授權儲存無法開啟。這個錯誤代碼為 IIS 6.0 所專用。

· 500.100 - 內部 ASP 錯誤。

· 501 - Not Implemented(尚未實作) 伺服器不具備完成請求的功能。例如,當伺服器無法識別請求方法時,伺服器可能會傳回此代碼。

· 502 - Bad Gateway(錯誤網關) 伺服器作為網關或代理,從上游伺服器收到了無效的回應。

· 502.1 - CGI 應用程式逾時。

· 502.2 - CGI 應用程式出錯。

· 503 - Service Unavailable (服務無法使用) 目前無法使用伺服器(由於超載或進行停機維護)。通常,這只是一種暫時的狀態。

· 504 - Gateway Timeout (網關逾時) 伺服器作為網關或代理,未及時從上游伺服器接收請求。

· 505 - HTTP Version Not Supported (HTTP 版本不支援) 伺服器不支援請求中所使用的 HTTP 協定版本。

以上是HTTP的回應狀態碼有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具