完整指南和HTTP狀態代碼列表

HTTP狀態代碼就像來自伺服器的簡短說明,它們被粘貼到網頁上。它們實際上不是網站內容的一部分。相反,它們是來自伺服器的消息,讓您知道當它收到查看特定頁面的請求時情況如何。

每當您的瀏覽器與伺服器互動時,即使您看不到這些消息,它們也會返回。如果您是網站所有者或開發者,那麼了解HTTP狀態代碼至關重要。當它們確實顯示時,HTTP狀態代碼是診斷和修復網站配置錯誤的寶貴工具。

本文介紹了幾種伺服器狀態和錯誤代碼,並解釋了它們揭示了幕後伺服器上正在發生的事情。

只需移至Kinsta,即可將WordPress網站的速度提高200%。
        
          今天免費遷移

讓我們潛入吧!

什麼是HTTP狀態代碼?

每次您單擊鏈接或鍵入URL並按Enter鍵時,瀏覽器都會向網路伺服器發送您要訪問的網站的請求。伺服器接收並處理該請求,然後將相關資源與HTTP標頭一起發回。

HTTP狀態代碼通過HTTP標頭傳遞到您的瀏覽器。雖然每次瀏覽器請求網頁或資源時都會返回狀態代碼,但大多數情況下您不會看到它們。

通常只有在出現問題時,您才會在瀏覽器中看到顯示的內容。這就是伺服器的說法:「有些事情不正確。這是解釋錯誤原因的代碼。」

google 404 http狀態碼

Google 404 HTTP狀態碼

如果您想查看瀏覽器通常不會顯示的狀態代碼,可以使用許多不同的工具來簡化操作。瀏覽器擴展適用於對開發人員友好的平台,例如Chrome和Firefox,並且有許多基於Web的標頭獲取工具,例如Web Sniffer。

要使用這些工具之一查看HTTP狀態代碼,請查找報告頂部附近顯示「狀態:HTTP / 1.1」的行。這之後將是伺服器返回的狀態代碼。

了解HTTP狀態代碼類

HTTP狀態代碼分為5個「類」。這些是具有相似或相關含義的響應分組。了解它們是什麼可以幫助您快速確定狀態碼的基本內容,然後再查找其具體含義。

這五個類包括:

  • 100s:信息代碼,指示瀏覽器發起的請求正在繼續。

  • 200s:伺服器收到,理解和處理瀏覽器請求時返回成功代碼。

  • 300s:將新資源替換為請求的資源時返回的重定向代碼。

  • 400s:客戶端錯誤代碼表示請求存在問題。

  • 500s:伺服器錯誤代碼表示已接受請求,但伺服器上的錯誤阻止了請求的執行。

在每個此類中,存在多種伺服器代碼,並且伺服器可能會返回這些代碼。每個單獨的代碼都有特定且獨特的含義,我們將在下面更全面的列表中進行介紹。

為什麼HTTP狀態代碼和錯誤對於搜索引擎優化(SEO)至關重要

搜索引擎機器人在抓取您的網站時會看到HTTP狀態代碼。在某些情況下,這些消息可能會影響您的網頁是否以及如何建立索引,以及搜索引擎如何看待您網站的健康狀況。

一般來說,100級和200級HTTP狀態代碼不會對您的SEO產生太大影響。它們表示一切正常,應該在您的網站上運行,並使搜索引擎機器人繼續前進。但是,它們也不會提高您的排名。

在大多數情況下,對於SEO來說,更重要的是高層代碼。 400級和500級響應可以防止漫遊器對您的頁面進行爬網和編製索引。這些錯誤太多也可能表示您的網站質量不高,可能會降低您的排名。

300級代碼與SEO的關係有些複雜。要了解其影響,您需要了解的主要內容是永久重定向和臨時重定向之間的區別,我們將在下面的相關部分中對其進行詳細介紹。

簡而言之,永久重定向從反向鏈接共享鏈接資產,而臨時重定向則沒有。換句話說,當您對已移動的頁面使用臨時重定向時,您將失去所有已完成鏈接構建的SEO優勢。

在Google Search Console中檢查HTTP狀態代碼

監視Google如何在您的網站上感知HTTP狀態代碼的一種方法是使用Google Search Console。您可以在覆蓋率報告中查看300、400和500級狀態代碼:

Search Console的覆蓋範圍

Google Search Console的覆蓋率報告

儀錶板的該區域顯示站點上的四種內容:

  • 返回錯誤的頁面。
  • 帶有警告的有效頁面。
  • 有效的資源。
  • 從索引中排除的內容。

根據代碼類型的不同,您可能會在帶有警告的“排除”,“錯誤”或“有效”部分下找到具有300、400和500級別HTTP狀態代碼的頁面。例如,「 301重定向」可能在「具有重定向的頁面」下列出:

Search Console重定向

在Google Search Console的覆蓋率報告中帶有重定向的頁面。

在錯誤下可能會出現400和500級狀態代碼。

查看HTTP狀態代碼的另一種方法是使用URL檢查工具。如果Google由於錯誤而無法為特定頁面編製索引,您將在這裡看到以下內容:

搜索控制台404

Google Search Console的網址檢查工具中出現404錯誤

有關使用Google Search Console的更多提示,請查看我們對該平台的綜合指南。

完整指南和HTTP狀態代碼列表

儘管有40多種不同的伺服器狀態代碼,但是您經常會遇到少於十二種的伺服器狀態代碼。下面,我們介紹了更常見的代碼以及您可能仍然會遇到的一些較晦澀的代碼。

100狀態碼

100級狀態代碼告訴您,由於某些原因,您對伺服器的請求仍在處理中。這並不一定是問題,它只是讓您了解發生了什麼的額外信息。

  • 100:「繼續。」這意味著相關伺服器已收到您瀏覽器的請求標頭,並且現在也準備發送請求正文。這使請求過程更加有效,因為即使標頭已被拒絕,它仍可阻止瀏覽器發送正文請求。

  • 101:「交換協議。」您的瀏覽器已要求伺服器更改協議,並且伺服器已合規。

  • 103:「早期提示」。在伺服器其餘響應準備就緒之前,這將返回一些響應標頭。

200狀態碼

這是最好的HTTP狀態代碼。 200級的響應意味著一切都按預期運行。

  • 200:“一切都很好。”這是網頁或資源按預期方式運行時傳遞的代碼。

  • 201:「已創建。」伺服器已滿足瀏覽器的請求,因此創建了新資源。

  • 202:「被接受。」伺服器已接受您瀏覽器的請求,但仍在處理中。該請求最終可能會或可能不會導致完整的響應。

  • 203:「非權威信息」。使用代理時,可能會出現此狀態代碼。這意味著代理伺服器從源伺服器收到了200個「一切正常」狀態代碼,但是在將響應傳遞給瀏覽器之前已對其進行了修改。

  • 204:「沒有內容。」此代碼表示伺服器已成功處理了請求,但不會返回任何內容。

  • 205:「重置內容」。就像204代碼一樣,這意味著伺服器如何處理請求但不返回任何內容。但是,這還要求瀏覽器重置文檔視圖。

  • 206:「部分內容」。如果您的HTTP客戶端(也稱為瀏覽器)使用「範圍標頭」,則可能會看到此狀態代碼。這使您的瀏覽器可以恢復暫停的下載,以及將下載分成多個流。當範圍標頭使伺服器僅發送部分請求的資源時,將發送206代碼。

300狀態碼

重定向是用於傳達資源已移動到新位置的過程。重定向隨附有幾種HTTP狀態代碼,以便為訪問者提供有關在哪裡可以找到他們要查找的內容的信息。

  • 300:「多項選擇」。有時,伺服器可以響應多種可能的資源來滿足您的瀏覽器請求。 300狀態碼錶示您的瀏覽器現在需要在它們之間進行選擇。當有多個可用的文件擴展名時,或者伺服器出現單詞歧義消除時,可能會發生這種情況。

  • 301:「所請求的資源已被永久移動。」當網頁或資源被其他資源永久替換時,將交付此代碼。它用於永久URL重定向。

  • 302:「請求的資源已移動,但已找到。」此代碼用於指示已找到請求的資源,而不是在期望的位置。它用於臨時URL重定向。

  • 303:「另見」。要了解303狀態碼,您需要了解四種主要HTTP請求方法之間的區別。本質上,一個303代碼告訴您的瀏覽器它找到了您的瀏覽器通過POST,PUT或DELETE請求的資源。但是,要使用GET檢索它,您需要向不同於先前使用的URL發出適當的請求。

  • 304:「自上次訪問以來,尚未修改所請求的資源。」該代碼告訴瀏覽器,存儲在瀏覽器緩存中的資源沒有更改。通過重用以前下載的資源來加快網頁的交付速度。

  • 307:「臨時重定向」。當資源已臨時移動到其他URL時,此狀態代碼已將302「找到」替換為適當的操作。與302狀態代碼不同,它不允許更改HTTP方法。

  • 308:「永久重定向」。狀態代碼308是301「永久移動」代碼的後繼。它不允許更改HTTP方法,並指示所請求的資源現在永久位於新的URL。

400狀態碼

在400級別,HTTP狀態代碼開始變得有問題。這些是錯誤代碼,表示您的瀏覽器和/或請求有問題。

  • 400:「錯誤請求」。由於客戶端錯誤,伺服器無法返迴響應。請參閱我們的指南以解決此錯誤。

  • 401:「未經授權」或「需要授權」。當目標資源缺少有效的身份驗證憑據時,伺服器將返回此值。如果您使用htpasswd設置了基本的HTTP身份驗證,則可能會看到此信息。

Chrome中的Nginx 401授權要求錯誤

Chrome中的Nginx 401授權要求錯誤

  • 402:「需要付款。」最初,此代碼是為用作數字現金系統的一部分而創建的。但是,該計劃從未實施。取而代之的是,它被各種平台用來表示無法滿足請求,通常是因為缺少所需資金。常見的實例包括:

    • 您已達到對Google Developers API的每日請求限制。
    • 您尚未支付Shopify費用,並且商店已被暫時停用。
    • 您通過Stripe付款失敗,或者Stripe試圖防止欺詐性付款。
  • 403:「禁止訪問該資源。」當用戶嘗試訪問其無權查看的內容時,將返回此代碼。例如,嘗試在未登錄的情況下訪問受密碼保護的內容可能會產生403錯誤。

  • 404:「未找到請求的資源。」這是它們中最常見的錯誤消息。此代碼表示所請求的資源不存在,並且伺服器不知道它是否曾經存在。

  • 405:「不允許使用方法。」當託管伺服器(原始伺服器)支持所接收的方法但目標資源不支持該方法時,會生成此消息。

  • 406:「響應不可接受。」根據請求中發送的接受標頭,請求的資源只能生成不可接受的內容。

  • 407:「需要代理身份驗證。」代理伺服器正在使用中,需要您的瀏覽器進行身份驗證後才能繼續。

  • 408:「伺服器超時,等待來自瀏覽器的其餘請求。」當伺服器在等待來自瀏覽器的完整請求時超時時,將生成此代碼。換句話說,伺服器未獲得瀏覽器發送的完整請求。一種可能的原因可能是網路擁塞,導致瀏覽器和伺服器之間的數據包丟失。

  • 409:「衝突。」狀態代碼409表示伺服器無法處理您的瀏覽器請求,因為與相關資源存在衝突。有時由於多次同時編輯而發生這種情況。

  • 410:「所請求的資源已消失,不會再回來。」這類似於404「未找到」代碼,除了410表示該狀況是預期的和永久的。

  • 411:「長度要求」。這意味著請求的資源要求客戶端指定一定的長度,而沒有指定。

  • 412:「前提條件失敗。」您的瀏覽器的請求標頭中包含某些條件,並且伺服器不符合這些規範。

  • 413:「有效負載太大」或「請求實體太大」。您的請求大於伺服器願意或能夠處理的請求。

  • 414:「 URI太長。」通常這是由於GET請求已被編碼為查詢字元串而導致伺服器無法處理的結果。

  • 415:不支持的媒體類型。該請求包含伺服器或資源不支持的媒體類型。

  • 416:「範圍無法滿足。」您的請求是請求伺服器無法返回的一部分資源。

  • 417:「期望失敗。」伺服器無法滿足請求的「期望標頭」欄位中指定的要求。

  • 418:「我是茶壺」。收到煮咖啡請求的茶壺返回此代碼。這也是1988年愚人節的笑話。

我是茶壺http狀態碼

418「我是茶壺」狀態碼

  • 422:「不可處理的實體。」客戶請求包含語義錯誤,伺服器無法處理。

  • 425:太早。伺服器不願處理請求(因為可能會重播)時,將發送此代碼。

  • 426:「需要升級。」由於請求的升級標頭欄位的內容,客戶端應切換到其他協議。

  • 428:「需要先決條件。」伺服器要求在處理請求之前指定條件。

  • 429:「請求太多。」當用戶在給定的時間內(速率限制)發送了太多請求時,伺服器將生成此消息。有時可能是由於漫遊器或腳本試圖訪問您的站點而導致的。在這種情況下,您可能想嘗試更改WordPress登錄URL。您還可以查看我們的修復429「請求過多」錯誤的指南。

429個請求過多

429個請求過多

  • 431:請求頭欄位太大。伺服器無法處理該請求,因為標頭欄位太大。這可能表示單個標頭欄位或所有標頭欄位共同存在問題。

  • 451:「由於法律原因不可用。」伺服器的操作員已收到禁止訪問您所請求的資源(或包括您所請求的一組資源)的要求。有趣的事實:此代碼引用了雷·布拉德伯里(Ray Bradbury)的小說《華氏451》。

  • 499:「客戶已關閉請求。」當客戶端在Nginx仍在處理請求時關閉該請求時,NGINX返回此消息。

500狀態碼

500級狀態代碼也被視為錯誤。但是,它們表示問題出在伺服器端。這會使它們更難解決。

  • 500:“伺服器上有錯誤,請求無法完成。”這是通用代碼,僅表示「內部伺服器錯誤」。伺服器上出了點問題,請求的資源沒有交付。此代碼通常是由第三方插件,錯誤的PHP甚至與資料庫斷開的連接生成的。查看我們的教程,了解如何解決建立資料庫連接的錯誤以及解決500個內部伺服器錯誤的其他方法。

建立資料庫連接時出錯

建立資料庫連接時出錯

  • 501:「未實施。」此錯誤表明伺服器不支持滿足請求所需的功能。這幾乎始終是Web伺服器本身的問題,通常必須由主機解決。查看我們有關如何解決501未實現錯誤的建議。

  • 502錯誤的網關。」此錯誤代碼通常表示一台伺服器從另一台伺服器收到無效響應,例如在使用代理伺服器時。其他時候,查詢或請求將花費很長時間,因此伺服器將其取消或殺死,並且與資料庫的連接也會中斷。有關更多詳細信息,請參見有關如何修復502 Bad Gateway錯誤的深入教程。

  • 503:伺服器現在無法處理此請求。該請求目前無法完成。該代碼可能由無法處理其他請求的過載伺服器返回。我們有完整的指南,介紹如何解決503服務不可用錯誤。

  • 504:「充當網關的伺服器超時,等待另一台伺服器響應。」當有兩個伺服器參與處理請求,並且第一台伺服器等待第二台伺服器響應時,這是返回的代碼。您可以在我們的專用指南中閱讀有關如何修復504錯誤的更多信息。

  • 505:「不支持HTTP版本。」該伺服器不支持客戶端用於發出請求的HTTP版本。

  • 511:「需要網路身份驗證。」當您嘗試使用的網路在將請求發送到伺服器之前需要某種形式的身份驗證時,將發送此狀態代碼。例如,您可能需要同意公共Wi-Fi熱點的條款和條件。

  • 521:「 Web伺服器已關閉。」錯誤521是Cloudflare特定的錯誤消息。這意味著您的Web瀏覽器能夠成功連接到Cloudflare,但是Cloudflare無法連接到原始Web伺服器。

在哪裡了解有關HTTP狀態代碼的更多信息

除了我們在此列表中介紹的HTTP狀態代碼外,您可能還需要了解一些其他晦澀的代碼。您可以參考幾種資源來閱讀這些稀有代碼,包括:

  • Wikipedia的HTTP狀態代碼的完整列表。
  • Internet工程任務組(IETF)的狀態碼定義。

  • RFC 7231。

了解這些狀態代碼可能有助於您解決一些獨特的問題,同時維護自己的網站,甚至在其他網站上遇到它們時也是如此。

乍一看,它們似乎令人生畏,但是HTTP狀態代碼對於了解您網站上發生的事情很重要。這是您應該熟悉的詳細列表! ??

點擊鳴叫

摘要

雖然表面上看起來有些混亂或令人生畏,但HTTP狀態代碼實際上非常有用。通過學習一些常見問題,您可以更快地解決網站上的問題。

在本文中,我們定義了您可能會遇到的40多個HTTP狀態代碼。從溫和的100級和200級代碼到棘手的400級和500級錯誤,理解這些消息對於維護您的網站並確保用戶可訪問性至關重要。

10股

相關文章