了解 HTTP 狀態碼及其含義
已發表: 2021-12-30最後更新於 2022 年 1 月 5 日
在向網站發送 HTTP 請求時,大多數 Web 瀏覽器會自動發送相應的 HTTP 狀態代碼,以告知網站您的請求是否成功。 但是這些狀態碼是什麼? 他們的意思是什麼? 您將在下面找到狀態代碼列表。
作為白標 SEO 公司的白標 SEO 專業人員,我們知道 HTTP 狀態代碼在識別網站上的錯誤方面非常有幫助。 此類錯誤可能會導致大量排名問題和搜索引擎信任。 用戶和搜索引擎都不想在搜索結果中看到不穩定的網站。
選擇狀態代碼組以輕鬆下拉到該部分:
- 2xx HTTP 狀態碼
- 3xx HTTP 狀態碼
- 4xx HTTP 狀態碼
- 5xx HTTP 狀態碼
- 6xx HTTP 狀態碼
- 7xx HTTP 狀態碼
- 9xx HTTP 狀態碼
2xx HTTP 狀態碼:
200 OK – 成功的 HTTP 請求。 這可能是您從網站獲得的最常見的 HTTP 響應。 這意味著您的請求已成功,並且您的數據已發送回給您。
201 Created – HTTP 響應成功,但創建了新資源。 這是對返回附加到 HTTP Location 標頭字段的數據的 GET 請求的響應。 Location 標頭字段包含新創建資源的 URL。 僅當請求使用 POST 方法或其他不創建可自行向其發送響應的資源的方法時,才會發送它。
202 Accepted – 已接受處理請求,需要進一步處理。 此響應由接受進一步處理請求的 Web 服務器(通常是代理服務器)給出,但這確實需要客戶端在立即確認收到請求後採取任何類型的操作。
203 非權威信息——對緩存有用。 這通常是 HTTP 網絡級緩存機制中使用的響應代碼。 它包含的信息可能來自 Request-URI 標識的資源以外的實體。 結果可能表明由於內容陳舊,代理或緩存無法滿足請求。 但是,它不指示提示是否是可以向其發送 200(OK)響應的實體。
204 無內容 - 請求已服務但未返回任何內容。 這意味著服務器成功處理了請求,但沒有返回此特定請求的任何內容。 這通常在提供靜態文件時使用,例如圖像或其他靜態 Web 資產。
205 重置內容 - 重置請求資源的內容。 這表明服務器已經為此請求準備了響應,但沒有將其發送回客戶端。 客戶端應不加修改地重新發送請求。 此響應代碼通常與 204(無內容)響應結合使用,以指示由 Request-URI 標識的資源已“重置”,以便在處理進一步請求時它可以保持當前狀態,但這些請求將返回一個不確定的內容長度:“0 字節”。
206 部分內容 – 收到一些不完整的陳述。 這表明服務器成功處理了請求,但沒有返回所請求資源的完整表示。 通常,206 響應將伴隨一個 Retry-After 頭字段,該字段包含一個值,該值指示客戶端在對該資源發出另一個請求之前應該等待多長時間。
3xx HTTP 狀態碼:
301 永久移動 - 永久重定向到新位置。 此代碼僅與 HTTP 重定向相關。 302 響應表示請求的資源不再可用。 302 響應中的 URI 永遠不會解析為原始資源,因為它已被永久重定向到新位置。
302 Found - 成功重定向。 這表明在成功重定向後已找到請求的資源。 原始請求的登錄頁面將在響應的 Location 標頭字段中指定的新 URL 下找到。
303 See Other – 請求的資源存在,但請求應該有節奏。 這表示可以處理請求,但需要額外的時間才能返回結果。 通常,此響應將伴隨著 Retry-After 標頭字段,該字段指示客戶端應重試此請求的時間。
304 Not Modified – 請求已成功處理,無需任何操作。 這意味著響應滿足其所有要求(例如驗證),但自上次執行此請求以來尚未修改資源。 換句話說,它是一個“304 Not Modified”響應,不需要客戶端的任何額外操作來繼續處理。
305 Use Proxy – 請求應該通過代理路由。 這是主要與中間代理服務器一起使用的響應代碼。 實際的響應將只包括一個狀態代碼和一個可選的加密 WWW-Authenticate 頭字段。 它將使實際內容保持不變,並且只能由代理服務器訪問。
307 臨時重定向 - HTTP 請求重新路由到另一個位置。 此響應代碼表明客戶端的請求已被服務器重定向到另一個 URL。 新 URL 將在此響應的 Location 標頭字段中提供,它可以是完整的 URI,也可以是部分的 URI。 此代碼可用於將來自一個服務器上的腳本或程序的請求重定向到同一服務器上的另一個位置或完全不同的服務器。
308 永久重定向 - HTTP 請求重新路由到另一個服務器。 此響應代碼表示客戶端的請求已被重定向到同一服務器上的另一個位置或完全不同的服務器。 新 URL 將在此響應的 Location 標頭字段中提供,它可以是完整的 URI,也可以是部分的 URI。 此代碼可用於將來自一個服務器上的腳本或程序的請求重定向到同一服務器上的另一個位置或完全不同的服務器。
4xx HTTP 狀態碼:
403 Forbidden – 請求權限被拒絕。 此響應代碼表明服務器知道該請求,但沒有辦法完成它。 客戶端應停止發送對該資源的請求。
404 Not Found – 無法找到請求的資源。 這意味著服務器找不到與該請求對應的實體,或者可能不理解客戶端的請求是什麼意思。 無論哪種方式,客戶端都不應該繼續其請求。
405 方法 - 請求必須使用 POST 從資源中檢索數據。 這用於指示服務器不接受使用 GET 方法的請求,通常是因為它對該資源沒有意義。
406 Not Acceptable – 請求的資源只能接受可協商的參數。 這意味著由於客戶端的錯誤或可能由於無狀態的 HTTP 代理服務器,無法滿足請求。 響應將包括一個實體,描述為什麼它不能被填充。 如果沒有該實體的表示可用,則響應中不需要包含一個。
408 Request Timeout – 服務器無法及時響應。 客戶端應該重試請求,正確地遵循 Retry-After 頭域或 Retry-After 響應頭或響應正文中其他地方指定的服務器指定的時間要求。 如果省略 Retry-After 頭,客戶端可以立即重試,但不能早於 Retry-After 時間。
413 Request Entity Too Large – 請求包含服務器不支持或因其他原因拒絕接受的內容。 響應將包括一個實體,描述為什麼它不能被填充。 如果沒有該實體的表示可用,則響應中不需要包含一個。
414 Request-URI Too Long – 提供的 URI 太長,服務器無法處理。 這可能表明試圖利用網絡服務器中的緩衝區溢出漏洞。
415 Unsupported Media Type – 請求的資源需要以服務器或資源不支持的方式格式化的數據。 響應將包括一個實體,描述為什麼它不能被填充。 如果沒有該實體的表示可用,則響應中不需要包含一個。
416 Requested Range Not Satisfiable – 服務器端軟件組件沒有生成有效的 HTTP 範圍標頭,如果源服務器可以接受範圍,它應該具有該標頭。 響應將包括一個實體,描述為什麼它不能被填充。 如果沒有該實體的表示可用,則響應中不需要包含一個。
417 Expectation Failed – 服務器觸及了文檔中被忽略的部分,儘管客戶端並不認為這部分會受到影響。 通常由網絡蜘蛛或爬蟲引起。 響應將包括一個實體,描述為什麼它不能被填充。 如果沒有該實體的表示可用,則響應中不需要包含一個。
420 Unprocessable Entity – 由於過大,請求不可接受。 此響應代碼已棄用。 HTTP 客戶端應將其視為 400 Bad Request 錯誤。
421 Locked – 資源不能直接從客戶端修改,但可以使用有條件的 GET 或 POST 請求“鎖定”。 如果鎖定的資源是文件,則其內容在 Content-Range 標頭字段中返回,指示到目前為止已接收到的部分以及仍在接收的部分。 如果鎖定的資源是一個實體,它的響應是一系列以標題字段開頭的實體標題。
422 多狀態——服務器在各種狀態和算法中具有多種資源表示,可以隨時更新以用新的表示替換當前表示。 例如,從商店購買的 CD 可能具有通過電子郵件發送給購買者的加密副本,同時在其存檔中具有另一個本地副本。
423 Locked – 資源不能直接從客戶端修改,但可以使用有條件的 GET 或 POST 請求“鎖定”。 如果鎖定的資源是文件,則其內容在 Content-Range 標頭字段中返回,指示到目前為止已接收到的部分以及仍在接收的部分。 如果鎖定的資源是一個實體,它的響應是一系列以標題字段開頭的實體標題。
424 Not Modified – 自生成響應以來,實體尚未被修改。
426 Partial Content – 服務器無法生成更合適的請求實體表示。 此代碼表明服務器只能返回請求的部分內容,但會發送它可以發送的內容。
HTTP 狀態代碼在識別網站上的錯誤方面非常有用。 此類錯誤可能會導致大量排名問題和搜索引擎信任。 點擊推文5xx HTTP 狀態碼:
500 Internal Server Error – 在生成或處理請求時內部級別出現問題,但不在任何客戶端都認為錯誤的級別上。
501 Not Implemented – 資源未實施,但是,它將轉發到可用的、密切相關的資源。
502 Bad Gateway – 作為網關或代理的服務器不能正常處理該類型的請求,無法完成。 這通常是因為服務器不知道如何處理給定的請求。
503 Service Unavailable – 由於維護停機、服務器過載或其他原因,服務器暫時無法處理請求。
504 Gateway Time-out – 由於超時,服務器未處理網關請求。
505 HTTP Version Not Supported – 服務器無法處理請求,因為這不是支持的協議之一。
506 Variant Also Negotiates – 服務器只提供資源的變體。 如果您希望單獨處理內容的變體(例如圖像或樣式表),則必須使用此響應代碼。
507 Insufficient Storage – 服務器無法存儲完成請求所需的表示。 這可能是由於臨時故障,這可能表明臨時無法處理請求。 當用戶的帳戶中沒有可用的存儲空間或超出了他們的存儲配額時,也會使用它。
508 Loop Detected – 此代碼類似於 403 Forbidden,但這意味著您尚未獲得授權,因為您的 IP 地址已被阻止訪問該站點。 出於這個原因,響應正文應該包含一個 WWW-Authenticate 標頭字段,指示用戶如何授權自己。
509 Not Extended – 服務器不支持“配置文件”OData 操作。 如果您需要執行配置文件請求,請改用 GET 請求。 在這種情況下,如果您的客戶端應用程序不兼容 OAuth2,它可能會省略 WWW-Authenticate 標頭字段並將其視為空白響應。
510 Not Extended – 服務器不支持“模式”OData 操作。 如果您需要執行模式請求,請改用 GET 請求。 在這種情況下,如果您的客戶端應用程序不兼容 OAuth2,它可能會省略 WWW-Authenticate 標頭字段並將其視為空白響應。
511 需要網絡身份驗證 – 客戶端需要進行身份驗證才能獲得網絡訪問權限。 該代碼用於 401 響應。 響應可以包括帶有附加身份驗證選項的 WWW-Authenticate 標頭字段。
599 需要網絡身份驗證——客戶端需要對自己進行身份驗證才能獲得網絡訪問權限。 該代碼用於 407 響應。 在這種情況下,如果您的客戶端應用程序不兼容 OAuth2,它可能會省略 WWW-Authenticate 標頭字段並將其視為空白響應。
6xx HTTP 狀態碼:
600 Busy – 由於請求量大,服務器暫時無法處理請求。 這可能伴隨著指示服務何時可能再次可用的 Retry-After 頭字段。 如果請求方法不是 HEAD 並且定義了至少一個請求實體,它還應該包括一個具有 error_status 和 error_reason 值的實體主體(如果適用)。
601 已拒絕——服務器拒絕了請求,並將包括原因(例如,用戶帳戶未授權)。
602 Bad Gateway – 服務器不處理請求資源的網關。 例如,對其端點之一的請求返回此錯誤。 如果來自不同主機的服務器充當此資源的網關,則可能會發生這種情況。
603 Service Unavailable – 由於維護停機、服務器過載或其他原因,服務器暫時無法處理請求。 在某些情況下,這可能是由於另一個服務暫時關閉它以執行維護而導致該服務對外部客戶端不可用。
604 Method Not Allowed – 請求的資源不允許該方法。 這應該很少用作響應,因為 error_status 值更具描述性並且存在很長時間。
605 Variant Also Negotiates – 服務器只提供資源的變體。 如果您希望單獨處理內容的變體(例如圖像或樣式表),則必須使用此響應代碼。
606 Not Acceptable – 客戶必須接受隨附的陳述。
607 Insufficient Storage – 無法處理請求,因為服務器無法存儲完成請求所需的表示。 這可能是由於臨時故障,這可能表明臨時無法處理請求。 當用戶的帳戶中沒有可用的存儲空間或超出了他們的存儲配額時,也會使用它。
610 Precondition Failed – 從先前請求中收到的信息不滿足條件。 請求可以包含一個正文,其 Content-Type 必須是有效的可用表示。
611 需要網絡身份驗證——客戶端需要對自己進行身份驗證才能獲得網絡訪問權限。 該代碼用於 407 響應。 在這種情況下,如果您的客戶端應用程序不兼容 OAuth2,它可能會省略 WWW-Authenticate 標頭字段並將其視為空白響應。 此代碼僅應在針對外部服務器或服務而不是針對請求者本身進行身份驗證時使用。
616 Bad Request – 請求無效或不受支持。 這應該是指示請求格式錯誤的超級代碼。 例如,沒有實體主體的請求。
617 已經回复——服務器已經在回復之前的請求。 在某些情況下,當客戶端發送第二個請求而第一個請求仍在處理中時,可能會使用它。
618 內部服務器錯誤 – 內部服務器錯誤或服務器配置錯誤 - 生成錯誤響應。
619 Request Time-out – 發生未捕獲的異常、超時或其他技術問題,阻止進一步處理請求。 響應消息正文通常會包含有關問題的更多詳細信息。
620 Bad Gateway – 服務器不處理請求資源的網關。 當來自不同主機的服務器充當此資源的網關時,就會發生這種情況。
7xx HTTP 狀態碼:
711 Unknown Resource – 服務器不處理這個特定的請求方法,或者它無法理解請求體。
712 Unprocessable Entity – 請求實體格式正確但無法處理。 這可能是由於服務器級別的驗證錯誤,或者如果它是響應,則響應已過期或引用已刪除的資源。 這可能伴隨著指示服務何時可能再次可用的 Retry-After 頭字段。
713 Locked – 資源被另一個系統使用,或者是只讀的。 這可能伴隨著指示服務何時可能再次可用的 Retry-After 頭字段。
714 Shared Use – 資源已分配給多個客戶。 這應該與 411(使用衝突)響應代碼一起使用,其中不應授予一個客戶端對資源的獨占訪問權限。 它還可能表明該資源上的進一步事務應該等到其他客戶端完成他們的事務。
9xx HTTP 狀態碼:
915 Request Entity Too Large – 由於請求正文過長,服務器無法處理。 如果您想在請求中包含大型文檔,請考慮使用 POST 並限製文檔的長度。
917 Request Entity Too Large – 由於請求過長,服務器無法驗證請求是否格式正確。 如果您想在請求中發送長格式,請考慮改用 POST。
918 Request Entity Too Large – 由於請求過長,服務器無法驗證請求是否格式正確。 如果您想在請求中發送長格式,請考慮改用 POST。
919 Request Entity Incomplete – 服務器沒有足夠的信息來處理請求,因為實體太小,或者不支持媒體類型。 客戶端可以使用它來驗證請求是否已被接收,以及它是否包含所有必要的信息,然後再繼續處理。
930 Authentication Required – 客戶端嘗試對自己進行身份驗證但失敗,因此沒有返回實體主體。 它可能伴隨著一個 WWW-Authenticate 頭字段,其中包含有關如何驗證自身的信息。
980 Not Found – 找不到資源。 這可能表示為此 API 定義的標識符之一出現錯誤,例如 API 密鑰或 API 路徑 (URI)。
999 未知錯誤 – 發生一般錯誤。 沒有關於該問題的其他信息。 它可以用作對任何意外故障的響應。
您可以遇到的大量 HTTP 狀態代碼到此結束。 值得慶幸的是,其中大部分很少在野外發現,但重要的是要知道當你找到它們時該怎麼做。 這就是為什麼與能夠識別問題並找到適當解決方案的白標 SEO 專業人員合作至關重要的原因。