當用戶試圖通過 HTTP 或文件傳輸協議 (FTP) 訪問一台正在運行 Internet 信息服務 (IIS) 的服務器上的內容時,IIS 返回一個表示該請求的狀態的數字代碼。該狀態代碼記錄在 IIS 日誌中,同時也可能在 Web 瀏覽器或 FTP 客戶端顯示。狀態代碼可以指明具體請求是否已成功,還可以揭示請求失敗的確切原因。
日誌文件的位置。在默認狀態下,IIS 把它的日誌文件放在 %WINDIR\System32\Logfiles 文件夾中。每個萬維網 (WWW) 站點和 FTP 站點在該目錄下都有一個單獨的目錄。在默認狀態下,每天都會在這些目錄下創建日誌文件,並用日期給日誌文件命名(例如,exYYMMDD.log)。
1. 信息提示 -1xx
這些狀態代碼表示臨時的響應。客戶端在收到常規響應之前,應準備接收一個或多個 1xx 響應。
100
Continue 初始的請求已經接受,客戶應當繼續發送請求的其餘部分。
101
Switching Protocols 服務器將遵從客戶的請求切換到另外一種協議。
2. 成功 -2xx
這類狀態代碼表明服務器成功地接受了客戶端請求。
200
OK 一切正常,對 GET 和 POST 請求的應答文檔跟在後面。
201
Created 服務器已經創建了文檔,Location 頭給出了它的 URL.
202
Accepted 已經接受請求,但處理尚未完成。
203
Non-Authoritative Information 文檔已經正常地返回,但一些應答頭可能不正確,因為使用的是文檔的拷貝。
204
No Content 沒有新文檔,瀏覽器應該繼續顯示原來的文檔。如果用戶定期地刷新頁面,而 Servlet 可以確定用戶文檔足夠新,這個狀態代碼是很有用的。
205
Reset Content 沒有新的內容,但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸入內容
206
Partial Content 客戶發送了一個帶有 Range 頭的 GET 請求,服務器完成了它。
3. 重定向 -3xx
客戶端瀏覽器必須採取更多操作來實現請求。例如,瀏覽器可能不得不請求服務器上的不同的頁面,或通過代理服務器重複該請求。
300
Multiple Choices 客戶請求的文檔可以在多個位置找到,這些位置已經在返回的文檔內列出。如果服務器要提出優先選擇,則應該在 Location 應答頭指明。
301
Moved Permanently 客戶請求的文檔在其他地方,新的 URL 在 Location 頭中給出,瀏覽器應該自動地訪問新的 URL.
302
Found 類似於 301,但新的 URL 應該被視為臨時性的替代,而不是永久性的。注意,在 HTTP1.0 中對應的狀態信息是"Moved Temporatily",出現該狀態代碼時,瀏覽器能夠自動訪問新的 URL,因此它是一個很有用的狀態代碼。注意這個狀態代碼有時候可以和 301 替換使用。例如,如果瀏覽器錯誤地請求,有的服務器返回 301,有的則返回 302.嚴格地說,我們只能假定只有當原來的請求是 GET 時瀏覽器才會自動重定向。請參見 307.
303
See Other 類似於 301/302,不同之處在於,如果原來的請求是 POST,Location 頭指定的重定向目標文檔應該通過 GET 提取(HTTP 1.1 新)。
304
Not Modified 客戶端有緩衝的文檔並發出了一個條件性的請求(一般是提供 If-Modified-Since 頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩衝的文檔還可以繼續使用。
305
Use Proxy 客戶請求的文檔應該通過 Location 頭所指明的代理服務器提取(HTTP 1.1 新)。
307
Temporary Redirect 和 302(Found)相同。許多瀏覽器會錯誤地響應 302 應答進行重定向,即使原來的請求是 POST,即使它實際上只能在 POST 請求的應答是 303 時才能重定向。由於這個原因,HTTP 1.1 新增了 307,以便更加清除地區分幾個狀態代碼:當出現 303 應答時,瀏覽器可以跟隨重定向的 GET 和 POST 請求;如果是 307 應答,則瀏覽器只能跟隨對 GET 請求的重定向。
4. 客戶端錯誤 -4xx
發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。
400
Bad Request 請求出現語法錯誤。
401
Unauthorized 客戶試圖未經授權訪問受密碼保護的頁面。應答中會包含一個 WWW-Authenticate 頭,瀏覽器據此顯示用戶名字 / 密碼對話框,然後在填寫合適的 Authorization 頭後再次發出請求。IIS 定義了許多不同的 401 錯誤,它們指明更為具體的錯誤原因。這些具體的錯誤代碼在瀏覽器中顯示,但不在 IIS 日誌中顯示:
401.1- 登錄失敗。401.2- 服務器配置導致登錄失敗。401.3- 由於 ACL 對資源的限制而未獲得授權。401.4- 篩選器授權失敗。401.5-ISAPI/CGI 應用程序授權失敗。401.7–訪問被 Web 服務器上的 URL 授權策略拒絕。這個錯誤代碼為 IIS 6.0 所專用。
403
Forbidden 資源不可用。服務器理解客戶的請求,但拒絕處理它。通常由於服務器上文件或目錄的權限設置導致。
IIS 定義了許多不同的 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.這個錯誤代碼為 IIS 6.0 所專用。403.19- 不能為這個應用程序池中的客戶端執行 CGI.這個錯誤代碼為 IIS 6.0 所專用。403.20-Passport 登錄失敗。這個錯誤代碼為 IIS 6.0 所專用。
404
Not Found 無法找到指定位置的資源。這也是一個常用的應答。
404.0-(無)–沒有找到文件或目錄。404.1- 無法在所請求的端口上訪問 Web 站點。404.2-Web 服務擴展鎖定策略阻止本請求。404.3-MIME 映射策略阻止本請求。
405
Method Not Allowed 請求方法(GET、POST、HEAD、DELETE、PUT、TRACE 等)對指定的資源不適用。
406
Not Acceptable 指定的資源已經找到,但它的 MIME 類型和客戶在 Accpet 頭中所指定的不兼容
407
Proxy 類似於 401,表示客戶必須先經過代理服務器的授權。
408
Request Timeout 在服務器許可的等待時間內,客戶一直沒有發出任何請求。客戶可以在以後重複同一請求。
409
Conflict 通常和 PUT 請求有關。由於請求和資源的當前狀態相衝突,因此請求不能成功。
410
Gone 所請求的文檔已經不再可用,而且服務器不知道應該重定向到哪一個地址。它和 404 的不同在於,返回 407 表示文檔永久地離開了指定的位置,而 404 表示由於未知的原因文檔不可用。
411
Length Require 服務器不能處理請求,除非客戶發送一個 Content-Length 頭。
412
Precondition Failed 請求頭中指定的一些前提條件失敗。
413
Request Entity Too Large 目標文檔的大小超過服務器當前願意處理的大小。如果服務器認為自己能夠稍後再處理該請求,則應該提供一個 Retry-After 頭。
414
Request URI Too Long URI 太長。
416
Requested Range Not Satisfiable 服務器不能滿足客戶在請求中指定的 Range 頭。
417
執行失敗。
423
鎖定的錯誤。
440-Login Timeout
客戶端的會話已經過期,必須重新登錄
449-Retry With
客戶端沒有提供所需要的信息,服務器不能正確響應
451-Redirect
在使用 Exchange ActiveSync 時不能訪問用戶的郵箱時,需要重新運行 HTTP 自動發現來找到更合適的服務器
Nginx 拓展了 4xx 錯誤代碼
444-No Response
服務器沒有返迴響應,並且關閉了連接
495-SSL Certificate Error
客戶端提供了一個無效的證書時返回 400 錯誤碼的擴展
496-SSL Certificate Required
需要客戶端提供 SSL 證書,客戶端卻沒有提供返回 400 錯誤碼的擴展
497-HTTP Request Sent to HTTPS Port
當客戶端把一個 HTTP 請求發送到了 HTTPS 端口時返回 400 錯誤碼的擴展
499-Client Closed Request
在服務器發送響應之前客戶端就關閉了連接
5. 服務器錯誤 -5xx
服務器由於遇到錯誤而不能完成該請求。
500
Internal Server Error 服務器遇到了意料不到的情況,不能完成客戶的請求。
500.12- 應用程序正忙於在 Web 服務器上重新啟動。500.13-Web 服務器太忙。500.15- 不允許直接請求 Global.asa.500.16–UNC 授權憑據不正確。這個錯誤代碼為 IIS 6.0 所專用。500.18–URL 授權存儲不能打開。這個錯誤代碼為 IIS 6.0 所專用。500.100- 內部 ASP 錯誤。
501
Not Implemented 服務器不支持實現請求所需要的功能。例如,客戶發出了一個服務器不支持的 PUT 請求。頁眉值指定了未實現的配置
502
Bad Gateway 服務器作為網關或者代理時,為了完成請求訪問下一個服務器,但該服務器返回了非法的應答。Web 服務器用作網關或代理服務器時收到了無效響應。
502.1-CGI 應用程序超時。502.2-CGI 應用程序出錯。application.
503
Service Unavailable 服務器由於維護或者負載過重未能應答。例如,Servlet 可能在數據庫連接池已滿的情況下返回 503.服務器返回 503 時可以提供一個 Retry-After 頭。
504
Gateway Timeout 由作為代理或網關的服務器使用,表示不能及時地從遠程服務器獲得應答。
505
HTTP Version Not Supported 服務器不支持請求中所指明的 HTTP 版本。
520
Unknown Error,520 錯誤包含了原始服務器返回意外響應的全部問題。
520 常由以下原因引起:
* 連接重置
*Headers 超過標頭大小限制(超過 8KB)
* 空的響應來源
* 無效的 HTTP 響應
*HTTP 響應缺少響應標頭
521
Web Server Is Down
源服務器拒絕了雲服務器的連接
522-Web Server Is Down
雲服務器沒有和源服務器完成 TCP 握手
523-Origin Is Unreachable
雲服務器無法到達原始服務器,可能是源服務器的 DNS 記錄不正確
524-A Timeout Occurred
雲服務器可以完成 TCP 握手,但是沒有及時收到 HTTP 響應
525-SSL Handshake Failed
雲服務器不能完成與原始服務器的 SSL/TLS 握手
526-Invalid SSL Certificate
雲服務器無法驗證原始服務器的 SSL 證書
簡單的來說,4 開頭的都是網站問題,5 開頭的都是服務器問題,2 與 3 開頭普通用戶接觸不到