IIS 7.0 和更新版本中的 HTTP 狀態碼

本文提供 Microsoft Internet Information Services (IIS) 7.0 和更新版本中的超文字傳輸通訊協定 (HTTP) 狀態碼清單。

原始產品版本:   Internet Information Services 7.0 和更新版本
原始 KB 編號:   943891

簡介

當您嘗試使用 HTTP 通訊協定來存取執行 (IIS) 7.0、7.5 或更新版本的伺服器上的內容時,IIS 會傳回指出回應狀態的數值代碼。 HTTP 狀態碼會記錄在 IIS 記錄檔中。 此外,HTTP 狀態碼可能會顯示在用戶端瀏覽器中。

HTTP 狀態碼可能會指出要求是成功或失敗。 HTTP 狀態碼也可能會顯示要求失敗的確切原因。

本文專供支援代理商和 IT 專業人員使用。 如果您正在尋找網站錯誤訊息的詳細資訊,請參閱 取得網站錯誤訊息 (HTTP 錯誤) 的說明。

記錄檔位置

根據預設,IIS 7.0 和更新版本會將記錄檔放在下列資料夾中:
inetpub\logs\Logfiles

此資料夾包含每個 World Wide Web 網站的不同目錄。 依預設,每日目錄會建立記錄檔,記錄檔會以日期命名。 例如,記錄檔可能會命名為 exYYMMDD .log

HTTP 狀態碼

本節說明 IIS 7.0 和更新版本使用的 HTTP 狀態碼。

注意

本文並未列出 HTTP 規格中所指定的每個可能的 HTTP 狀態碼。 本文僅包含 IIS 7.0 和更新版本可以傳送的 HTTP 狀態碼。 例如,自訂網際網路伺服器 API (ISAPI) filter 或自訂的 HTTP 模組可以設定自己的 HTTP 狀態碼。

1 xx -資訊

這些 HTTP 狀態碼會指出臨時回應。 在用戶端電腦收到定期回應之前,用戶端電腦會收到一或多個 1 xx 回應。

IIS 7.0 和更新版本使用下列的資訊性 HTTP 狀態碼:

  • 100-繼續。
  • 101-交換通訊協定。

2 xx -成功

這些 HTTP 狀態碼表示伺服器已成功接受要求。

IIS 7.0 和更新版本使用下列成功 HTTP 狀態碼:

  • 200-確定。 用戶端要求已成功。
  • 201-已建立。
  • 202-已接受。
  • 203-非授權資訊。
  • 204-沒有內容。
  • 205-重設內容。
  • 206-部分內容。

3 xx -重新導向

這些 HTTP 狀態碼表示用戶端瀏覽器必須採取更多動作來完成要求。 例如,用戶端瀏覽器可能必須要求伺服器上的不同頁面。 或者,用戶端瀏覽器可能必須使用 proxy 伺服器重複要求。

IIS 7.0 和更新版本使用下列重新導向 HTTP 狀態碼:

  • 301-已永久移動。
  • 302-物件已移動。
  • 304-未修改。
  • 307-暫時重新導向。

4 xx -用戶端錯誤

這些 HTTP 狀態碼表示發生錯誤,用戶端瀏覽器似乎出現錯誤。 例如,用戶端瀏覽器可能要求頁面不存在。 或者,用戶端瀏覽器可能並未提供有效的驗證資訊。

IIS 7.0 和更新版本使用下列用戶端錯誤的 HTTP 狀態碼:

  • 400-錯誤的要求。 由於語法錯誤,導致伺服器無法瞭解要求。 用戶端不應修改要求而直接重複要求。

    IIS 7.0 和更新版本定義下列 HTTP 狀態碼,指出錯誤400的特定原因:

    • 400.1-不正確目的標頭。
    • 400.2-不正確深度標頭。
    • 400.3-If 標頭無效。
    • 400.4-覆蓋標頭無效。
    • 400.5-不正確轉譯標頭。
    • 400.6-不正確要求主體。
    • 400.7-內容長度無效。
    • 400.8-超時無效。
    • 400.9-鎖定權杖無效。
  • 401-拒絕存取。

    IIS 7.0 和更新版本會定義數個 HTTP 狀態碼,指出錯誤401的特別原因。 下列的特定 HTTP 狀態碼會顯示在用戶端瀏覽器中,但不會顯示在 IIS 記錄檔中:

    • 401.1-登入失敗。
    • 401.2-由於伺服器設定,登入失敗。
    • 401.3-由於資源上的 ACL 而未授權。
    • 401.4-由 filter 驗證失敗。
    • 401.5-ISAPI/CGI 應用程式的授權失敗。
    • 401.501-拒絕存取:來自相同用戶端 IP 的要求太多;已達到動態 IP 限制同時要求速率限制。
    • 401.502-禁止訪問:來自相同用戶端 IP 的要求太多;已達到動態 IP 限制最大要求速率限制。
    • 401.503-拒絕存取: IP 位址會包含在 IP 限制的拒絕清單中
    • 401.504-拒絕存取:主機名稱會包含在 IP 限制的「拒絕」清單中
  • 403-已禁止。

    IIS 7.0 和更新版本定義下列 HTTP 狀態碼,指出錯誤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。
    • 403.19-無法針對此應用程式集區中的用戶端執行 CGI 應用程式。
    • 403.20-禁止訪問: Passport 登入失敗。
    • 403.21-禁止存取:來源存取遭到拒絕。
    • 403.22-禁止訪問:拒絕無限深度。
    • 403.501-禁止訪問:來自相同用戶端 IP 的要求太多;已達到動態 IP 限制同時要求速率限制。
    • 403.502-禁止訪問:來自相同用戶端 IP 的要求太多;已達到動態 IP 限制最大要求速率限制。
    • 403.503-禁止訪問: IP 位址會包含在 IP 限制的拒絕清單中
    • 403.504-禁止訪問:主機名稱包含在 IP 限制的拒絕清單中
  • 404-找不到。

    IIS 7.0 和更新版本定義下列 HTTP 狀態碼,指出錯誤404的特定原因:

    • 404.0-找不到。

    • 404.1-找不到網站。

    • 404.2-ISAPI 或 CGI 限制。

    • 404.3-多用途網際網路郵件擴充 (MIME) 類型限制。

    • 404.4-未設定處理常式。

    • 404.5-受要求篩選設定拒絕。

    • 404.6-拒絕動詞。

    • 404.7-檔擴充功能已遭拒絕。

    • 404.8-隱藏的命名空間。

    • 404.9-檔案屬性隱藏。

    • 404.10-要求標頭過長。

    • 404.11-要求包含雙轉義順序。

    • 404.12-要求包含高位字元。

    • 404.13-內容長度太大。

    • 404.14-要求 URL 太長。

    • 404.15-查詢字串太長。

    • 404.16-已傳送至靜態檔案處理常式的 DAV 要求。

    • 404.17-透過萬用字元 MIME 對應,對應至靜態檔案處理常式的動態內容。

    • 404.18-已拒絕 Querystring 序列。

    • 404.19-篩選規則拒絕。

    • 404.20-URL 區段太多

    • 404.501-找不到:來自相同用戶端 IP 的要求太多;已達到動態 IP 限制同時要求速率限制。

    • 404.502-找不到:來自相同用戶端 IP 的要求太多;已達到動態 IP 限制最大要求速率限制。

    • 404.503-找不到: IP 位址會包含在 IP 限制的拒絕清單中

    • 404.504-找不到:主機名稱包含在 IP 限制的拒絕清單中

    • 405-不允許方法。

    • 406-用戶端瀏覽器不接受所要求頁面的 MIME 類型。

    • 408-要求超時。

    • 412-前置條件失敗。

5 xx -伺服器錯誤

這些 HTTP 狀態碼表示伺服器由於伺服器發生錯誤而無法完成要求。

IIS 和更新版本使用下列伺服器錯誤 HTTP 狀態碼:

  • 500-內部伺服器錯誤。

    IIS 7.0 和更新版本定義下列 HTTP 狀態碼,指出錯誤500的特定原因:

    • 500.0-發生模組或 ISAPI 錯誤。

    • 500.11-在網頁伺服器上關閉應用程式。

    • 500.12-應用程式在網頁伺服器上重新開機忙碌。

    • 500.13-網頁伺服器忙碌。

    • 500.15-不允許通用 global.asax 的直接要求。

    • 500.19-設定資料無效。

    • 500.21-無法辨識模組。

    • 500.22- httpModules 不會在受管理的管線模式中套用 ASP.NET 設定。

    • 500.23- httpHandlers 不會在受管理的管線模式中套用 ASP.NET 設定。

    • 500.24-ASP.NET 模擬設定不適用於受管理的管線模式。

    • 500.50-通知處理期間發生重新寫入錯誤 RQ_BEGIN_REQUEST 。 發生設定或輸入規則執行錯誤。

      注意

      在這裡,會為輸入和輸出規則讀取分散式規則設定。

    • 500.51-GL_PRE_BEGIN_REQUEST 通知處理期間發生重新寫入錯誤。 發生全域設定或全域規則執行錯誤。

      注意

      您可以在這裡讀取全域規則設定。

    • 500.52-通知處理期間發生重新寫入錯誤 RQ_SEND_RESPONSE 。 發生輸出規則執行。

    • 500.53-通知處理期間發生重新寫入錯誤 RQ_RELEASE_REQUEST_STATE 。 發生輸出規則執行錯誤。 在更新輸出使用者快取之前,會將規則設定為執行。

    • 500.100-內部 ASP 錯誤。

  • 501-標頭值指定未執行的設定。

  • 502-網頁伺服器充當閘道或 proxy 時收到不正確回應。

    IIS 7.0 和更新版本定義下列 HTTP 狀態碼,指出錯誤502的特定原因:

    • 502.1-CGI 應用程式超時。
    • 502.2-閘道錯誤:提前結束。
    • 502.3-錯誤閘道: (ARR) 的轉寄站連接錯誤。
    • 502.4-錯誤閘道:沒有伺服器 (ARR) 。
  • 503-服務無法使用。

    IIS 7.0 和更新版本定義下列 HTTP 狀態碼,指出錯誤503的特定原因:

    • 503.0-應用程式集區無法使用。
    • 503.2-超過同時要求限制。
    • 503.3-ASP.NET 佇列已滿
    • 503.4-FastCGI 佇列已滿

常見的 HTTP 狀態碼和原因

下表說明某些常見 HTTP 狀態碼的原因。

代碼 描述 附註
200 確定 IIS 7.0 和更新版本已成功處理要求。
304 未修改 用戶端瀏覽器要求的檔已經在快取中,但檔在快取後並未修改。 用戶端瀏覽器使用的是檔的快取副本,而不是從伺服器下載檔案。
400 錯誤要求 超文字傳輸通訊協定堆疊 ( # A0) file 會封鎖 IIS 7.0 和更新版本因要求中的問題而無法處理要求。 一般來說,這個 HTTP 狀態碼表示要求包含不正確字元或順序,或是要求與 Http.sys 檔案中的安全性設定不符。
401.1 登入失敗 登入嘗試失敗的原因可能是使用者名稱或密碼無效。
401.2 由於伺服器設定,登入失敗 這個 HTTP 狀態碼表示伺服器上的驗證設定設定有問題。
401.3 由於資源的 ACL,未授權 這個 HTTP 狀態碼表示 NTFS 檔案系統許可權中的問題。 即使您嘗試存取的檔案的許可權正確,也可能會發生這個問題。 例如,如果 IUSR 帳戶沒有目錄的存取權,就會發生此問題 C:\Winnt\System32\Inetsrv
401.4 透過篩選器的授權失敗 網際網路伺服器應用程式程式設計介面 (ISAPI) 篩選不允許處理要求,因為發生授權問題。
401.5 ISAPI/CGI 應用程式的授權失敗 ISAPI 應用程式或通用閘道介面 (CGI) 應用程式不會因為授權問題而處理要求。
403.1 執行存取權禁止 未授與執行許可權的適當層級。
403.2 已禁止讀取權限 未授與 [讀取] 許可權的適當層級。 請確認您已設定 IIS 7.0 和更新版本,以授與目錄的「讀取」許可權。 此外,如果您使用預設檔,請檢查預設檔是否存在。
403.3 禁止寫入存取 未授與寫入權限的適當層級。 確認 [IIS 7.0 和更新版本] 許可權及 [NTFS 檔案系統] 許可權已設定為授與目錄的寫入權限。
403.4 需要 SSL 要求是透過非安全通道進行,而 web 應用程式需要安全通訊端層 (SSL) 連線。
403.5 需要 SSL 128 伺服器設定為需要128位的 SSL 連線。 不過,不會使用128位加密來傳送要求。
403.6 拒絕 IP 位址 伺服器設定為拒絕存取目前的 IP 位址。
403.7 需要用戶端憑證 伺服器設定為要求憑證進行用戶端驗證。 但用戶端瀏覽器沒有安裝適當的用戶端憑證。 如需詳細資訊,請參閱 HTTP 錯誤403.7 當您執行主控于執行 IIS 7.0 之伺服器的 web 應用程式時
403.8 拒絕網站存取 伺服器會設定為根據網域名稱系統 (DNS) 用戶端電腦名稱稱來拒絕要求。
403.12 拒絕存取器 您要存取的頁面需要用戶端憑證。 不過,對應至用戶端憑證的使用者識別碼會遭到拒絕存取檔案。
403.13 已撤銷用戶端憑證 用戶端瀏覽器會嘗試使用由憑證授權單位單位撤銷的用戶端憑證。
403.14 拒絕目錄清單 伺服器並未設定成顯示內容目錄清單,也不會設定預設檔。 當您開啟 IIS 網頁時,請參閱 HTTP 錯誤 403.14-已禁止
403.16 用戶端憑證不受信任或無效。 用戶端瀏覽器嘗試使用執行 IIS 7.0 和更新版本或無效之伺服器所信任的用戶端憑證。 如需詳細資訊,請參閱 當您嘗試存取裝載于 IIS 7.0 的網站時,請參閱 HTTP 錯誤 403.16
403.17 用戶端憑證已過期或尚未生效。 用戶端瀏覽器嘗試使用已到期或尚未生效的用戶端憑證。
403.18 無法在目前的應用程式集區中執行要求的 URL。 設定自訂錯誤頁面,且自訂錯誤頁面所在的應用程式集區與要求之 URL 的應用程式集區不同。
403.19 無法針對此應用程式集區中的用戶端瀏覽器執行 CGI 應用程式。 應用程式集區的身分識別沒有 [取代程式層級 token] 使用者權利。
404.0 找不到。 您嘗試存取的檔案已移動或不存在。
404.2 ISAPI 或 CGI 限制。 要求的 ISAPI 資源或要求的 CGI 資源在電腦上受到限制。 如需詳細資訊,請參閱 當您在執行 IIS 7.0 的電腦上進行主控的網頁時,請參閱 HTTP 錯誤404.2。
404.3 MIME 類型限制。 所要求擴充類型的目前 MIME 對應無效或尚未設定。
404.4 未設定處理常式。 所要求 URL 的副檔名不具備設定為處理網頁伺服器上之要求的處理常式。
404.5 被要求篩選設定拒絕。 要求的 URL 包含伺服器所封鎖的字元順序。
404.6 已拒絕動詞。 要求是使用未設定或不正確 HTTP 動詞進行。
404.7 拒絕檔擴充。 不允許要求的副檔名。
404.8 隱藏的命名空間。 因為目錄已隱藏,所以要求的 URL 被拒絕。
404.9 Files 屬性隱藏。 所要求的檔案是隱藏的。
404.10 要求標頭過長。 因為要求標頭過長,所以要求遭到拒絕。
404.11 要求包含雙重轉義順序。 要求包含雙重轉義順序。
404.12 要求包含高位字元。 要求包含高位字元,而伺服器設定為不允許高位字元。
404.13 內容長度太大。 要求包含 Content-Length 標頭。 標頭的值大於 Content-Length 伺服器所允許的限制。 如需詳細資訊,請參閱 HTTP 錯誤 404.13-當您造訪主控于執行 IIS 7.0 的伺服器上的網站時,請參閱 HTTP 錯誤-CONTENT_LENGTH_TOO_LARGE
404.14 要求 URL 太長。 要求的 URL 超過伺服器允許的限制。
404.15 查詢字串太長。 要求包含超過伺服器所允許限制的查詢字串。
404.17 對應至靜態檔處理常式的動態內容。 如需詳細資訊,請參閱 當您造訪以 IIS 7.0 為主控的網站時,錯誤訊息: HTTP 錯誤 404.17-找不到
405.0 不允許方法。 要求是使用不正確 HTTP 方法進行。 如需詳細資訊,請參閱 當您造訪位於執行 IIS 之伺服器所主控的網站時,請參閱 HTTP 錯誤 405.0
406.0 MIME 類型無效。 要求是使用 Accept 包含無效 MIME 值的標頭進行。
412.0 前置條件失敗。 要求是使用 If-Match 包含無效值的要求標頭進行。
500 內部伺服器錯誤。 這種 HTTP 狀態碼可能會發生許多伺服器端原因。 如需詳細資訊,請參閱 HTTP 錯誤500.0 –內部伺服器錯誤。當您開啟 IIS 7.0 網頁時會發生錯誤
500.11 在網頁伺服器上關閉應用程式。 因為目的地應用程式集區正在關閉,所以未處理要求。 請等候工作者處理常式完成關機,然後再試一次要求。 如果問題持續發生,web 應用程式可能會遇到阻礙 web 應用程式正確關閉的問題。
500.12 應用程式在網頁伺服器上重新開機繁忙。 因為目的應用程式集區正在重新開機,所以未處理要求。 當您重新整理頁面時,這個 HTTP 狀態碼應該會消失。 如果在您重新整理頁面後,此 HTTP 狀態碼會再次出現,則表示問題可能是掃描 global.asa 檔案的防毒軟體所造成。 如果問題持續發生,web 應用程式可能會遇到阻礙 web 應用程式正確重新開機的問題。
500.13 網頁伺服器太忙碌。 未處理要求,因為伺服器太忙碌,無法接受任何新的傳入要求。 一般來說,這個 HTTP 狀態碼表示傳入的併發要求數目超過 IIS 7.0 和更新版本 web 應用程式可以處理的數目。 因為效能設定設定太低、硬體不足或 IIS 7.0 和更新版本的 web 應用程式中發生瓶頸,可能會發生此問題。 常見的疑難排解方法是在錯誤發生時產生 IIS 7.0 和更新版本的記憶體傾印檔案,然後再調試記憶體傾印檔案。
500.15 不允許直接的 global.asax 要求。 對 global.asa 檔案或 global.asax 檔案進行直接要求。。
500.19 設定資料無效。 這項 HTTP 狀態碼會因為相關聯的 applicationhost.config 檔案或關聯的 Web.config 檔案中的問題而發生。 如需詳細資訊,請參閱 當您開啟 IIS 網頁時的 HTTP 錯誤 500.19
500.100 內部 ASP 錯誤。 處理 Active Server Pages (ASP) ] 頁面時發生錯誤。 若要取得錯誤的詳細資訊,請在網頁瀏覽器中停用易記的 HTTP 錯誤訊息。 此外,IIS 記錄檔可能會顯示一個 ASP 錯誤編號,該錯誤編號會對應至所發生的錯誤。
503.0 服務無法使用。 要求會傳送至目前已停止或目前已停用的應用程式集區。 若要解決此問題,請確定已啟動目的應用程式集區。 事件記錄檔可能會提供應用程式集區停止或停用原因的相關資訊。
503.2 超過同時要求限制。 appConcurrentRequestLimit 屬性設定為小於目前同時要求數目的值。 IIS 7.0 和更新版本不允許超出屬性值的並行要求 appConcurrentRequestLimit

在 IIS 8.0 中新增的 HTTP 子狀態碼

代碼 描述
400.10 不正確 X 轉寄- (XFF) 標頭
400.11 不正確 WebSocket 要求

在 ARR 3.0.1916 中新增的 HTTP 子狀態碼

代碼 描述
400.601 不良的用戶端要求 (ARR)
400.602 (ARR) 的時間格式無效
400.603 (ARR) 的 [分析範圍] 錯誤
400.604 用戶端消失 (ARR)
400.605 轉寄 (ARR) 數目上限
400.606 (ARR) 的非同步競爭錯誤
502.2 (ARR) 對應要求失敗
502.3 (ARR) WinHTTP 非同步完成失敗
502.4 無伺服器 (ARR)
502.5 (ARR) 的 WebSocket 失敗
502.6 轉寄的要求失敗 (ARR)
502.7 執行要求失敗 (ARR)

參考

如需有關 HTTP 狀態碼定義的詳細資訊,請參閱 HTTP/1.1:狀態碼定義

協力廠商資訊免責聲明

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。