IIS 中的 HTTP 狀態碼

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

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

簡介

當您嘗試使用 HTTP 通訊協定存取執行 IIS 之伺服器上的內容時,IIS 會傳回數值碼,指出要求的結果和回應的語意,包括要求是否成功。

狀態碼的第一位數會定義回應的類別。 最後兩位數不具有任何分類角色。 第一位數有五個值:

記錄檔位置

HTTP 狀態代碼會記錄在 IIS 記錄檔中。 根據預設,IIS 7.0 和更新版本會將記錄檔置於下列資料夾中:
inetpub\logs\Logfiles

此資料夾包含每個網站的個別目錄。 每天都會在目錄中建立記錄檔,而且預設會以日期命名。 例如,記錄檔可能會命名為 exYYMMDD.log

HTTP 狀態碼

本節說明一些常見的 HTTP 狀態碼。

注意事項

本文並未列出 HTTP 規格中所指定的每個可能的 HTTP 狀態代碼。 例如,自訂網際網路伺服器 API (ISAPI) 篩選條件或自訂的 HTTP 模組可以設定自己的 HTTP 狀態代碼。

1xx - 資訊

這些 HTTP 狀態碼指出在將最終回應傳送至用戶端電腦之前,用來傳達要求進度或狀態的過渡回應。

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

代碼 描述 附註
100 繼續 已收到要求的初始部分,但伺服器尚未拒絕。 伺服器打算在完全收到要求並採取行動之後傳送最終回應。
101 切換通訊協定 伺服器了解並願意遵守用戶端對所使用應用程式通訊協定進行變更的要求。

2xx - 成功

這些 HTTP 狀態碼表示伺服器已成功收到並接受用戶端的要求。

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

代碼 描述 附註
200 確定 用戶端要求已成功處理。
201 建立時間 用戶端要求已完成,並已建立一或多個新資源。
202 已接受 已接受用戶端要求進行處理,但尚未完成處理。
203 非權威資訊 用戶端要求成功,但已從原始伺服器的回應修改包含的內容。
204 沒有內容 伺服器已成功完成要求,而且沒有其他內容可在回應內容中傳送。
205 重設內容 伺服器已完成要求,並希望使用者代理程式將已導致傳送要求的「文件檢視」重設為從原始伺服器收到時的原始狀態。
206 部分內容 伺服器已成功完成目標資源的範圍要求,方法是傳輸所選取表示法的一或多個部分。

3xx - 重新導向

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

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

代碼 描述 附註
301 已永久移動 目標資源已獲指派新的永久 URI,而且未來對此資源的任何參考都應使用其中一個包含的 URI。
302 物件已移動 目標資源暫時位於不同的 URI 下。 由於重新導向有時可能會有所改變,因此用戶端未來的要求會繼續使用目標 URI
304 未修改 已收到條件式 GET 或 HEAD 要求,如果實際上條件未評估為 false,則會產生 200 (OK) 回應。
307 暫時重新導向 用戶端瀏覽器要求已在快取中的文件。 自從快取該文件之後,均未曾修改。 用戶端瀏覽器使用的是文件的快取副本,而不是從伺服器下載文件。

4xx - 用戶端錯誤

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

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

代碼 描述 附註
400 錯誤要求 由於語法錯誤,導致伺服器無法瞭解要求。 用戶端不應未經修改而直接重複要求。 如需詳細資訊,請參閱針對 IIS 中的 HTTP 400 錯誤進行疑難排解 (部分機器翻譯)。
401 Access denied (E_ACCESSDENIED (0x80070005):拒絕存取) 尚未套用要求,因其缺少目標資源的有效驗證認證。
403 禁止 伺服器已了解要求,但拒絕完成該要求。
404 找不到 原始伺服器找不到目標資源的目前表示法,或不願意揭露其存在。
405 方法不允許。 原始伺服器已知要求行中收到的方法,但目標資源不支援。
406 用戶端瀏覽器不接受所要求頁面的 MIME 類型。
408 要求逾時 伺服器未在準備等候的時間內收到完整的要求訊息。
412 先決條件失敗。 在伺服器上測試時,要求標頭欄位中提供的一或多個條件評估為 false。

400 - 錯誤的要求

超文字傳輸通訊協定 (HTTP) 堆疊 (Http.sys) 檔案會封鎖 IIS 7.0 和更新版本,因為要求中的問題而無法處理要求。 一般來說,這個 HTTP 狀態代碼表示要求包含不正確字元或順序,或是該要求與 Http.sys 檔案中的安全性設定不符。

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

代碼 描述
400.1 無效的目的地標頭
400.2 無效的深度標頭
400.3 無效的 If 標頭
400.4 無效的覆寫標頭
400.5 無效的轉譯標頭
400.6 無效的要求本文
400.7 無效的內容長度
400.8 無效的逾時
400.9 無效鎖定 Token

IIS 8.0 中已引進下列 HTTP 子狀態碼:

代碼 描述
400.10 無效的 X-Forwarded-For (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)

401 - 拒絕存取

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

代碼 描述 附註
401.1 登入失敗 登入嘗試失敗的原因可能是使用者名稱或密碼無效。
401.2 伺服器設定導致登入失敗 這個 HTTP 狀態代碼表示伺服器上的驗證設定有問題。
401.3 資源上的 ACL 導致未授權 這個 HTTP 狀態代碼表示 NTFS 檔案系統許可權中的問題。 即使對於您嘗試存取的檔案而言是正確的權限,也可能會發生這個問題。 例如,IUSR 帳戶若沒有 C:\Winnt\System32\Inetsrv 目錄的存取權限,就會發生這個問題。
401.4 篩選條件導致授權失敗 網際網路伺服器應用程式開發介面 (ISAPI) 篩選條件不允許處理要求,因為發生授權問題。
401.5 ISAPI/CGI 應用程式的授權失敗 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 已禁止讀取權限 未授與適當的讀取權限層級。 請驗證您已設定 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 (部分機器翻譯)。
403.8 拒絕網站存取 伺服器會設定為根據網域名稱系統 (DNS) 用戶端電腦名稱來拒絕要求。 如需詳細資訊,請參閱動態 IP 位址限制
403.9 禁止:太多用戶端嘗試連線至網頁伺服器
403.10 禁止:網頁伺服器設定為拒絕執行存取權
403.11 禁止:密碼已經變更
403.12 對應工具拒絕存取 您要存取的頁面需要用戶端憑證。 不過,對應至用戶端憑證的使用者識別碼存取檔案會遭到拒絕。
403.13 已撤銷用戶端憑證 用戶端瀏覽器會嘗試使用由憑證授權單位單位撤銷的用戶端憑證。
403.14 拒絕目錄清單 伺服器並未設定成顯示內容目錄清單,也未設定預設文件。 如需詳細資訊,請參閱 HTTP 錯誤 403.14 (部分機器翻譯)。
403.15 禁止:用戶端存取授權已超出網頁伺服器的限制
403.16 用戶端憑證不受信任或無效。 用戶端瀏覽器嘗試使用無效的用戶端憑證。 或是執行 IIS 7.0 和更新版本的伺服器不信任用戶端憑證。 如需詳細資訊,請參閱 HTTP 錯誤 403.16 (部分機器翻譯)。
403.17 用戶端憑證已過期或尚未生效。 用戶端瀏覽器嘗試使用已過期或尚未生效的用戶端憑證。
403.18 無法在目前的應用程式集區中執行要求的 URL。 已設定自訂錯誤頁面。 [客戶錯誤] 頁面的應用程式集區與所要求 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 限制。 要求的 ISAPI 資源或要求的 CGI 資源在電腦上受到限制。 如需詳細資訊,請參閱 HTTP 錯誤 404.2 (部分機器翻譯)。
404.3 MIME 類型限制。 所要求副檔名類型的目前 MIME 對應無效或尚未設定。
404.4 未設定處理常式。 所要求 URL 的檔案名稱延伸不具備設定為處理網頁伺服器上之要求的處理常式。
404.5 遭要求篩選設定拒絕。 要求的 URL 包含伺服器所封鎖的字元順序。
404.6 已拒絕動詞。 該要求是透過使用未設定或不正確 HTTP 動詞進行的。
404.7 拒絕檔案延伸。 不允許要求的檔案名稱延伸。
404.8 隱藏的命名空間。 因為目錄已隱藏,所以要求的 URL 遭拒絕。
404.9 檔案屬性隱藏。 所要求的檔案是隱藏的。
404.10 要求標頭過長。 因為要求標頭過長,所以要求遭到拒絕。
404.11 要求包含雙重逸出序列。 要求包含雙重逸出序列。
404.12 要求包含高位元字元。 要求包含高位元字元,而伺服器設定為不允許高位元字元。
404.13 內容太長。 要求包含 Content-Length 標頭。 標頭的值大於 Content-Length 伺服器所允許的限制。 如需詳細資訊,請參閱 HTTP 錯誤 404.13 - CONTENT_LENGTH_TOO_LARGE (部分機器翻譯)。
404.14 要求 URL 太長。 要求的 URL 超過伺服器允許的限制。
404.15 查詢字串太長。 要求包含超過伺服器所允許限制的查詢字串。
404.16 已發出 DAV 要求給靜態檔案處理常式
404.17 對應至靜態檔處理常式的動態內容。 如需詳細資訊,請參閱 HTTP 錯誤 404.17 - 找不到 (部分機器翻譯)。
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、412

代碼 描述 附註
405.0 方法不允許。 要求是使用不正確 HTTP 方法進行的。 如需詳細資訊,請參閱 HTTP 錯誤 405.0 (部分機器翻譯)。
406.0 MIME 類型無效。 要求是使用 Accept 包含無效 MIME 值的標頭進行的。
412.0 先決條件失敗。 要求是使用 If-Match 包含無效值的要求標頭進行的。

5xx - 伺服器錯誤

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

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

代碼 描述 附註
500 內部伺服器錯誤。 伺服器遇到非預期的情況,導致無法完成要求。
501 標頭值指定的設定尚未實作 伺服器不支援能夠完成要求的功能。
502 網頁伺服器做為閘道或 Proxy 時收到無效的回應 做為閘道或 Proxy 的伺服器嘗試完成要求時,從存取的內送伺服器收到無效的回應。 如需詳細資訊,請參閱針對 ARR 中的 502 錯誤進行疑難排解 (部分機器翻譯)。
503 服務無法使用 由於伺服器目前暫時超載或在進行排程維護,因此無法處理要求,該情況可能會在些許延遲之後減輕。

500 - 內部伺服器錯誤

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

代碼 描述 附註
500.0 發生模組或 ISAPI 錯誤。 這種 HTTP 狀態代碼可能由於多種伺服器端原因導致。 如需詳細資訊,請參閱 HTTP 錯誤 500.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 檔案中發生問題。 如需詳細資訊,請參閱 HTTP 錯誤 500.19 (部分機器翻譯)。
500.21 無法辨識的模組。
500.22 ASP.NET httpModules 設定沒有套用到 Managed 管線模式。
500.23 ASP.NET httpHandlers 設定沒有套用到 Managed 管線模式。
500.24 ASP.NET impersonation 設定沒有套用到 Managed 管線模式。
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 錯誤。 處理動態伺服器網頁 (ASP) 頁面時發生錯誤。 若要取得關於錯誤的詳細資訊,請在網頁瀏覽器中停用易記的 HTTP 錯誤訊息。 此外,IIS 記錄檔可能會顯示一個 ASP 錯誤編號,該錯誤編號會對應至所發生的錯誤。

502 - 錯誤的閘道

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

代碼 描述
502.1 CGI 應用程式逾時。
502.2 錯誤的閘道:提前結束。
502.3 錯誤的閘道:轉寄站連線錯誤 (ARR)。
502.4 錯誤的閘道:沒有伺服器 (ARR)。

ARR 3.0.1916 中已新增下列 HTTP 狀態碼:

代碼 描述
502.2 對應要求失敗 (ARR)
502.3 WinHTTP 非同步完成失敗 (ARR)
502.4 無伺服器 (ARR)
502.5 WebSocket 失敗 (ARR)
502.6 轉寄的要求失敗 (ARR)
502.7 執行要求失敗 (ARR)

503 - 服務無法使用

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

代碼 描述 附註
503.0 應用程式集區無法使用 對目前已停止或目前已停用的應用程式集區傳送要求。 若要解決此問題,請確定目的地應用程式集區已啟動。 事件記錄檔可能會提供應用程式集區停止或停用原因的相關資訊。
503.2 超過同時要求限制。 appConcurrentRequestLimit 屬性設定為小於目前同時要求數目的值。 IIS 7.0 和更新版本不允許並行要求數超出 appConcurrentRequestLimit 屬性值。
503.3 ASP.NET 佇列已滿
503.4 FastCGI 佇列已滿

其他相關資訊

協力廠商資訊免責聲明

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