IIS 中的 HTTP 狀態碼
本文提供 Microsoft 網際網路資訊服務 (IIS) 中的超文字傳輸通訊協定 (HTTP) 狀態代碼清單。
原始產品版本:網際網路資訊服務
原始 KB 編號:943891
簡介
當您嘗試使用 HTTP 通訊協定存取執行 IIS 之伺服器上的內容時,IIS 會傳回數值碼,指出要求的結果和回應的語意,包括要求是否成功。
狀態碼的第一位數會定義回應的類別。 最後兩位數不具有任何分類角色。 第一位數有五個值:
- 1xx (資訊):暫時性回應 - 已收到要求,正在繼續處理。
- 2xx (成功):伺服器已成功收到並接受要求。
- 3xx (重新導向):必須採取進一步的動作才能完成要求。
- 4xx (用戶端錯誤):要求包含錯誤且無法完成。
- 5xx (伺服器錯誤):伺服器無法完成要求。
記錄檔位置
HTTP 狀態代碼會記錄在 IIS 記錄檔中。 IIS 預設會將記錄檔放入 資料夾中: inetpub\logs\Logfiles
。
此資料夾包含每個網站的個別目錄。 每天都會在目錄中建立記錄檔,而且預設會以日期命名。 例如,記錄檔可能會命名為 exYYMMDD.log。
HTTP 狀態碼
本節說明一些常見的 HTTP 狀態碼。
注意事項
本文並未列出 HTTP 規格中所指定的每個可能的 HTTP 狀態代碼。 例如,自訂網際網路伺服器 API (ISAPI) 篩選條件或自訂的 HTTP 模組可以設定自己的 HTTP 狀態代碼。
1xx - 資訊
這些 HTTP 狀態碼指出在將最終回應傳送至用戶端電腦之前,用來傳達要求進度或狀態的過渡回應。
IIS 使用下列參考 HTTP 狀態代碼:
代碼 | 描述 | 附註 |
---|---|---|
100 | 繼續 | 已收到要求的初始部分,且尚未由伺服器拒絕。 伺服器打算在完全收到要求並採取行動之後傳送最終回應。 |
101 | 切換通訊協定 | 伺服器了解並願意遵守用戶端對所使用應用程式通訊協定進行變更的要求。 |
2xx - 成功
這些 HTTP 狀態碼表示伺服器已成功收到並接受用戶端的要求。
IIS 使用下列成功 HTTP 狀態代碼:
代碼 | 描述 | 附註 |
---|---|---|
200 | 確定 | 用戶端要求已成功處理。 |
201 | 建立時間 | 用戶端要求已完成,並已建立一或多個新資源。 |
202 | 已接受 | 用戶端要求已接受進行處理,但尚未完成處理。 |
203 | 非權威資訊 | 用戶端要求成功,但已從源伺服器的回應修改封入的內容。 |
204 | 沒有內容 | 伺服器已順利完成要求,而且響應內容中沒有其他內容可傳送。 |
205 | 重設內容 | 伺服器已完成要求,並預期使用者代理程式重設「文件檢視」,這會導致要求傳送至原始狀態,如從源伺服器接收。 |
206 | 部分內容 | 伺服器已成功完成目標資源的範圍要求,方法是傳輸所選取表示法的一或多個部分。 |
3xx - 重新導向
這些 HTTP 狀態代碼表示用戶端瀏覽器必須採取更多動作來完成要求。 例如,用戶端瀏覽器可能必須要求伺服器上的不同頁面。 或者,用戶端瀏覽器可能必須使用 Proxy 伺服器重複要求。
IIS 會使用下列重新導向 HTTP 狀態代碼:
代碼 | 描述 | 附註 |
---|---|---|
301 | 已永久移動 | 目標資源已獲指派新的永久 URI,而且未來對此資源的任何參考都應使用其中一個包含的 URI。 |
302 | 物件已移動 | 目標資源暫時位於不同的 URI 下。 由於重新導向有時可能會有所改變,因此用戶端未來的要求會繼續使用目標 URI |
304 | 未修改 | 已收到條件式 GET 或 HEAD 要求,如果條件評估為 false,則會產生 200 (OK) 回應。 |
307 | 暫時重新導向 | 用戶端瀏覽器要求已在快取中的文件。 自從快取該文件之後,均未曾修改。 用戶端瀏覽器使用的是文件的快取副本,而不是從伺服器下載文件。 |
4xx - 用戶端錯誤
這些 HTTP 狀態代碼表示發生錯誤,且用戶端瀏覽器似乎出現錯誤。 例如,客戶端瀏覽器可能已要求不存在的頁面。 或者,客戶端瀏覽器可能尚未提供有效的驗證資訊。
IIS 使用下列用戶端錯誤 HTTP 狀態代碼:
代碼 | 描述 | 附註 |
---|---|---|
400 | 錯誤要求 | 伺服器因為語法不正確而無法理解要求。 用戶端不應該在沒有修改的情況下重複要求。 如需詳細資訊,請參閱針對 IIS 中的 HTTP 400 錯誤進行疑難排解 (部分機器翻譯)。 |
401 | Access denied (E_ACCESSDENIED (0x80070005):拒絕存取) | 要求尚未套用,因為它缺少目標資源的有效驗證認證。 |
403 | 禁止 | 伺服器已了解要求,但拒絕完成該要求。 |
404 | 找不到 | 原始伺服器找不到目標資源的目前表示法,或不願意揭露其存在。 |
405 | 不允許方法 | 原始伺服器已知要求行中收到的方法,但目標資源不支援。 |
406 | 無法接受 | 用戶端瀏覽器不接受所要求資源的MIME類型。 |
408 | 要求逾時 | 伺服器未在準備等候的時間內收到完整的要求訊息。 |
412 | 前置條件失敗 | 在伺服器上測試時,要求標頭欄位中提供的一或多個條件評估為 false。 |
413 | 要求實體太大 | HTTP 要求承載太大。 |
400 - 錯誤的要求
超文本傳輸通訊協定堆疊 (Http.sys) 檔案會封鎖 IIS 處理要求,因為要求發生問題。 一般來說,這個 HTTP 狀態代碼表示要求包含不正確字元或順序,或是該要求與 Http.sys 檔案中的安全性設定不符。
IIS 會定義下列 HTTP 狀態代碼,指出錯誤 400 更具體的原因:
代碼 | 描述 |
---|---|
400.1 | 無效的目的地標頭 |
400.2 | 無效的深度標頭 |
400.3 | 無效的 If 標頭 |
400.4 | 無效的覆寫標頭 |
400.5 | 無效的轉譯標頭 |
400.6 | 無效的要求本文 |
400.7 | 無效的內容長度 |
400.8 | 無效的逾時 |
400.9 | 無效鎖定 Token |
自 Windows Server 2012 隨附的 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 會定義數個 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 限制:用戶端 IP 位址會包含在拒絕清單中。 |
401.504 | 拒絕存取:主機名遭拒 | IP 限制:用戶端主機名包含在拒絕清單中。 |
403 - 禁止
IIS 會定義下列 HTTP 狀態代碼,指出錯誤 403 的更具體原因:
代碼 | 描述 | 附註 |
---|---|---|
403.1 | 執行存取權限禁止 | 未授與適當的執行權限層級。 |
403.2 | 已禁止讀取權限 | 未授與適當的讀取權限層級。 確認您已設定 IIS,以將讀取許可權授與目錄。 此外,如果您使用預設文件,請檢查預設文件是否存在。 |
403.3 | 禁止寫入權限 | 未授與適當的寫入權限層級。 檢查 IIS 許可權和 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 的伺服器不信任客戶端憑證。 如需詳細資訊,請參閱 HTTP 錯誤 403.16 (部分機器翻譯)。 |
403.17 | 客戶端憑證已過期或尚未有效 | 用戶端瀏覽器嘗試使用已過期或尚未生效的用戶端憑證。 |
403.18 | 無法在目前的應用程式集區中執行要求的URL | 已設定自訂錯誤頁面。 [客戶錯誤] 頁面的應用程式集區與所要求 URL 的應用程式集區不同。 |
403.19 | 無法針對此應用程式集區中的用戶端瀏覽器執行 CGI 應用程式 | 應用程式集區的身分識別沒有 [取代處理程序等級權杖] 使用者權限。 |
403.20 | 禁止: Passport 登入失敗 | 不允許使用 Passport 登入的用戶端要求。 |
403.21 | 禁止:來源存取遭拒 | 不允許 WebDAV 對資源的原始程式碼要求。 |
403.22 | 禁止:拒絕無限深度 | 不允許具有無限深度的 WebDAV 要求。 |
403.501 | 禁止:達到並行要求速率限制 | 動態IP限制:來自相同用戶端IP的並行要求太多。 |
403.502 | 禁止:達到要求速率上限 | 動態IP限制:達到指定時間限制內來自相同用戶端IP的要求數目上限。 |
403.503 | 禁止:拒絕IP位址 | IP 限制:用戶端 IP 位址會包含在拒絕清單中。 |
403.504 | 禁止:拒絕主機名 | IP 限制:用戶端主機名包含在拒絕清單中。 |
404 - 找不到
IIS 會定義下列 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 | 傳送至靜態檔案處理程式的 WebDAV 要求 | WebDAV 要求未由 WebDAV 功能處理,而且已傳送至靜態檔案處理程式。 |
404.17 | 對應至靜態檔案處理程序的動態內容 | 如需詳細資訊,請參閱 HTTP 錯誤 404.17 - 找不到 (部分機器翻譯)。 |
404.18 | 查詢字串序列遭拒 | 要求包含不允許的查詢字串序列。 |
404.19 | 遭到篩選規則拒絕 | 要求因為要求篩選規則而遭到拒絕。 |
404.20 | URL 區段太多 | 要求包含太多 URL 區段。 |
404.501 | 找不到:達到並行要求速率限制 | 動態IP限制:來自相同用戶端IP的並行要求太多。 |
404.502 | 找不到:達到要求速率上限 | 動態IP限制:達到指定時間限制內來自相同用戶端IP的要求數目上限。 |
404.503 | 找不到:IP 位址遭拒 | IP 限制:用戶端 IP 位址會包含在拒絕清單中。 |
404.504 | 找不到:主機名遭拒 | IP 限制:用戶端主機名包含在拒絕清單中。 |
405、406、408、412 和 413
代碼 | 描述 | 附註 |
---|---|---|
405.0 | 方法不允許。 | 要求是使用不正確 HTTP 方法進行的。 如需詳細資訊,請參閱 HTTP 錯誤 405.0 (部分機器翻譯)。 |
406.0 | 無法接受。 | 要求是使用 Accept 包含無效 MIME 值的標頭進行的。 |
408.0 | 要求已逾時。 | 伺服器未在準備等候的時間內收到完整的要求訊息。 |
412.0 | 先決條件失敗。 | 要求是使用 If-Match 包含無效值的要求標頭進行的。 |
413.0 | 要求實體太大。 | 要求是使用太大的承載來進行。 |
5xx - 伺服器錯誤
5xx HTTP 狀態碼表示伺服器由於發生錯誤而無法完成要求。
IIS 使用下列伺服器錯誤 HTTP 狀態代碼:
代碼 | 描述 | 附註 |
---|---|---|
500 | 內部伺服器錯誤。 | 伺服器遇到非預期的情況,導致無法完成要求。 |
501 | 標頭值指定的設定尚未實作 | 伺服器不支持滿足要求所需的功能。 |
502 | 網頁伺服器做為閘道或 Proxy 時收到無效的回應 | 做為閘道或 Proxy 的伺服器嘗試完成要求時,從存取的內送伺服器收到無效的回應。 如需詳細資訊,請參閱針對 ARR 中的 502 錯誤進行疑難排解 (部分機器翻譯)。 |
503 | 服務無法使用 | 由於伺服器目前暫時超載或在進行排程維護,因此無法處理要求,該情況可能會在些許延遲之後減輕。 |
500 - 內部伺服器錯誤
IIS 會定義下列 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 Web 應用程式可以處理的數目。 當設定效能組態設定太低、硬體不足或 IIS Web 應用程式中發生瓶頸時,可能會發生此問題。 常見的疑難解答方法是在發生錯誤時產生 IIS 進程的記憶體轉儲檔案,然後偵錯記憶體轉儲檔案。 |
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 會定義下列 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 會定義下列 HTTP 狀態代碼,指出錯誤 503 的更具體原因:
代碼 | 描述 | 附註 |
---|---|---|
503.0 | 應用程式集區無法使用 | 對目前已停止或目前已停用的應用程式集區傳送要求。 若要解決此問題,請確定目的地應用程式集區已啟動。 事件記錄檔可能會提供應用程式集區停止或停用原因的相關資訊。 |
503.2 | 超過同時要求限制。 | 此 appConcurrentRequestLimit 屬性設定為小於目前同時要求數目的值。 IIS 不允許比 屬性的值 appConcurrentRequestLimit 更多的並行要求。 |
503.3 | ASP.NET 佇列已滿 | |
503.4 | FastCGI 佇列已滿 |
其他相關資訊
協力廠商資訊免責聲明
本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。