HTTP服务器状态代码定义

来源:互联网 发布:日语翻译网站 知乎 编辑:程序博客网 时间:2024/05/25 08:13

HTTP服务器状态代码定义(Status Code Definitions)

1.1消息1xx(Informational 1xx)
该类状态代码用于表示临时回应。临时回应由状态行(Status-Line)及可选标题组成, 由空行终止。HTTP/1.0中没有定义任何1xx的状态代码,所以它们不是对HTTP/1.0请求的   合法回应。实际上,它们主要用于实验用途,这已经超出本文档的范围。
1.2成功2xx(Successful 2xx)
表示客户端请求被成功接收、理解、接受。
200 OK
请求成功。回应的信息依赖于请求所使用的方法,如下:
GET要请求的资源已经放在回应的实体中了。
HEAD没有实体主体,回应中只包括标题信息。
POST实体(描述或包含操作的结果)。
201 Created
请求完成,结果是创建了新资源。新创建资源的URI可在回应的实体中得到。原始服务器应在发出该状态代码前创建该资源。如果该操作不能立即完成,服务器必须在该资源可用时在回应主体中给出提示,否则,服务器端应回应202(可被接受)。
在本文定义的方法,只有POST可以创建资源。
202 Accepted
请求被接受,但处理尚未完成。请求可能不一定会最终完成,有可能被处理过程随时中断,在这种情况下,没有办法在异步操作中重新发送状态代码。
202回应是没有义务的,这样做的目的是允许服务器不必等到用户代理和服务器间的连接结束,就可以响应其它过程的请求(象每天运行一次的,基于批处理的过程)。
在某些回应中返回的实体中包括当前请求的状态指示、状态监视器指针或用户对请求能否实现的评估信息。
204 No Content
服务器端已经实现了请求,但是没有返回新的信息。如果客户是用户代理,则勿需为此更新自身的文档视图。该回应主要是为了在不影响用户代理激活文档视图的前提下,进行script语句的输入及其它操作。该回应还可能包括新的、以实体标题形式表示的元信息,它可被当前用户代理激活视图中的文档所使用。
1.3重定向(Redirection 3xx)
该类状态码表示用户代理要想完成请求,还需要发出进一步的操作。这些操作只有当后跟的请求是GET或HEAD时,才可由用户代理来实现,而不用与用户进行交互。用户代理永远也不要对请求进行5次以上的重定向操作,这样可能导致无限循环。
300 Multiple Choices
该状态码不被HTTP/1.0的应用程序直接使用,只是做为3xx类型回应的缺省解释。存在多个可用的被请求资源。
除非是HEAD请求,否则回应的实体中必须包括这些资源的字符列表及位置信息,由用户或用户代理来决定哪个是最适合的。
如果服务器有首选,它应将对应的URL信息存放在位置域(Location field)处,用户代理会根据此域的值来实现自动的重定向。
301 Moved Permanently
请求到的资源都会分配一个永久的URL,这样就可以在将来通过该URL来访问此资源。有编辑链接功能的客户端会尽可能地根据服务器端传回的新链接而自动更新请求URI。 新的URL必须由回应中的位置域指定。除非是HEAD请求,否则回应的实体主体   (Entity-Body)必须包括对新URL超链接的简要描述。
如果用POST方法发出请求,而接收到301回应状态码。在这种情况下,除非用户确认,否则用户代理不必自动重定向请求,因为这将导致改变已发出请求的环境。
注意:当在接收到301状态码后而自动重定向POST请求时,一些现存的用户代理会错误地将其改为GET请求。
302 Moved Temporarily
请求到的资源在一个不同的URL处临时保存。因为重定向有时会被更改,客户端应继续用请求URI来发出以后的请求。新的URL必须由回应中的位置域指定。除非是HEAD请求,否则回应的实体主体 (Entity-Body)必须包括对新URL超链接的简要描述。
如果用POST方法发出请求,而接收到302回应状态码。在这种情况下,除非用户确认,否则用户代理不必自动重定向请求,因为这将导致改变已发出请求的环境。
注意:当在接收到302状态码后而自动重定向POST请求时,一些现存的用户代理会错误地将其改为GET请求。
304 Not Modified
如果客户端成功执行了条件GET请求,而对应文件自If-Modified-Since域所指定的日期以来就没有更新过,服务器应当回应此状态码,而不是将实体主体发送给客户端。回应标题域中只应包括一些相关信息,比如缓存管理器、与实体最近更新(entity's Last-Modified)日期无关的修改。相关标题域的例子有:日期、服务器、过期时间。每当304回应中给出的域值发生变化,缓存都应当对缓存的实体进行更新。
1.4客户端错误(Client Error)4xx
4xx类的状态码表示客户端发生错误。如果客户端在收到4xx代码时请求还没有完成,它应当立即终止向服务器发送数据。除了回应HEAD请求外,不论错误是临时的还是永久的,服务器端都必须在回应的实体中包含错误状态的解释。这些状态码适用于任何请求方法。
意:如果客户端正在发送数据,服务器端的TCP实现应当小心,以确保客户端在关闭输入连接之前收到回应包。如果客户端在关闭后仍旧向服务器发送数据,服务器会给客户  端发送一个复位包,清空客户端尚未处理的输入缓冲区,以终止HTTP应用程序的读取、解释活动。
400非法请求(Bad Request)
如果请求的语法不对,服务器将无法理解。客户端在对该请求做出更改之前,不应再次向服务器重复发送该请求。
401未授权(Unauthorized)
请求需要用户授权。回应中的WWW-Authenticate标题域(10.16节)应提示用户以授权方式请求资源。客户端应使用合适的授权标题域(10.2节)来重复该请求。如果请求中已经包括了授权信任信息,那回应的401表示此授权被拒绝。如果用户代理在多次尝试之后,回应一样还是返回401状态代码,用户应当察看一下回应的实体,因为在实体中会包括一些相关的动态信息。HTTP访问授权会在11节中解释。
403禁止(Forbidden)
服务器理解请求,但是拒绝实现该请求。授权对此没有帮助,客户端应当停止重复发送此请求。如果不是用HEAD请求方法,而且服务器端愿意公布请求未被实现原因的前提下,服务器会将拒绝原因写在回应实体中。该状态码一般用于服务器端不想公布请求被拒绝的细节或没有其它的回应可用。
404没有找到(Not Found)
服务器没有找到与请求URI相符的资源。404状态码并不指明状况是临时性的还是永久性的。如果服务器不希望为客户端提供这方面的信息,还回应403(禁止)状态码。
1.5服务器错误(Server Error)5xx
回应代码以‘5’开头的状态码表示服务器端发现自己出现错误,不能继续执行请求。如果客户端在收到5xx状态码时,请求尚未完成,它应当立即停止向服务器发送数据。除了回应HEAD请求外,服务器应当在其回应实体中包括对错误情况的解释、并指明是临时性的还永久性的。
这类回应代码没有标题域,可适用于任何请求方法。
500服务器内部错误(Internal Server Error)
服务器碰到了意外情况,使其无法继续回应请求。
501未实现(Not Implemented)
服务器无法提供对请求中所要求功能的支持。如果服务器无法识别请求方法就会回应此状态代码,这意味着不能回应请求所要求的任何资源。
502非法网关(Bad Gateway)
充当网关或代理的服务器从要发送请求的上游(upstream)服务器收到非法的回应。
503服务不可用(Service Unavailable)
服务器当前无法处理请求。这一般是由于服务器临时性超载或维护引起的。该状态码暗示情况是暂时性的,要产生一些延迟。
注意:503状态码并没有暗示服务器在超载时一定要返回此状态码。一些服务器可能希望在超载时采用简单处理,即断掉连接。


IIS错误代码大汇总

400无法解析此请求。
401.1未经授权:访问由于凭据无效被拒绝。
401.2未经授权:访问由于服务器配置倾向使用替代身份验证方法而被拒绝。
401.3未经授权:访问由于ACL对所请求资源的设置被拒绝。
401.4未经授权:Web服务器上安装的筛选器授权失败。
401.5未经授权:ISAPI/CGI应用程序授权失败。
401.7未经授权:由于Web服务器上的URL授权策略而拒绝访问。
403禁止访问:访问被拒绝。
403.1禁止访问:执行访问被拒绝。
403.2禁止访问:读取访问被拒绝。
403.3禁止访问:写入访问被拒绝。
403.4禁止访问:需要使用SSL查看该资源。
403.5禁止访问:需要使用SSL 128查看该资源。
403.6禁止访问:客户端的IP地址被拒绝。
403.7禁止访问:需要SSL客户端证书。
403.8禁止访问:客户端的DNS名称被拒绝。
403.9禁止访问:太多客户端试图连接到Web服务器。
403.10禁止访问:Web服务器配置为拒绝执行访问。
403.11禁止访问:密码已更改。
403.12禁止访问:服务器证书映射器拒绝了客户端证书访问。
403.13禁止访问:客户端证书已在Web服务器上吊销。
403.14禁止访问:在Web服务器上已拒绝目录列表。
403.15禁止访问:Web服务器已超过客户端访问许可证限制。
403.16禁止访问:客户端证书格式错误或未被Web服务器信任。
403.17禁止访问:客户端证书已经到期或者尚未生效。
403.18禁止访问:无法在当前应用程序池中执行请求的URL。
403.19禁止访问:无法在该应用程序池中为客户端执行CGI。
403.20禁止访问:Passport登录失败。
404找不到文件或目录。
404.1文件或目录未找到:网站无法在所请求的端口访问。

注意404.1错误只会出现在具有多个IP地址的计算机上。如果在特定IP地址/端口组合上收到客户端请求,而且没有将IP地址配置为在该特定的端口上侦听,则IIS返回404.1 HTTP错误。例如,如果一台计算机有两个IP地址,而只将其中一个IP地址配置为在端口80上侦听,则另一个IP地址从端口80收到的任何请求都将导致IIS返回404.1错误。只应在此服务级别设置该错误,因为只有当服务器上使用多个IP地址时才会将它返回给客户端。

404.2文件或目录无法找到:锁定策略禁止该请求。
404.3文件或目录无法找到:MIME映射策略禁止该请求。
405用于访问该页的HTTP动作未被许可。
406客户端浏览器不接受所请求页面的MIME类型。
407 Web服务器需要初始的代理验证。
410文件已删除。
412客户端设置的前提条件在Web服务器上评估时失败。
414请求URL太大,因此在Web服务器上不接受该URL。
500服务器内部错误。
500.11服务器错误:Web服务器上的应用程序正在关闭。
500.12服务器错误:Web服务器上的应用程序正在重新启动。
500.13服务器错误:Web服务器太忙。
500.14服务器错误:服务器上的无效应用程序配置。
500.15服务器错误:不允许直接请求GLOBAL.ASA。
500.16服务器错误:UNC授权凭据不正确。
500.17服务器错误:URL授权存储无法找到。
500.18服务器错误:URL授权存储无法打开。
500.19服务器错误:该文件的数据在配置数据库中配置不正确。
500.20服务器错误:URL授权域无法找到。
500 100内部服务器错误:ASP错误。
501标题值指定的配置没有执行。
502 Web服务器作为网关或代理服务器时收到无效的响应。

WIN2003 SERVER IIS6.0 ASP错误解析

事件ID描述

0100内存不足。无法分配所需的内存。
0101意外错误。函数返回|。
0102要求字符串输入。函数需要字符串输入。
0103要求数字输入。函数需要数字输入。
0104不允许操作。
0105索引超出范围。数组索引超出范围。
0106类型不匹配。遇到未处理的数据类型。
0107数据大小太大。请求中发送的数据大小超出允许的限制。
0108创建对象失败。创建对象'%s'时出错。
0109成员未找到。
0110未知的名称。
0111未知的界面。
0112参数丢失。

0113脚本超时。超过了脚本运行的最长时间。可以通过为Server.ScriptTimeout属性指定一个新值或在IIS管理工具中修改值来更改此限制。
0114对象不可用于自由线程。应用程序对象仅接受自由线程对象;而对象'%s'不可用于自由线程。
0115意外错误。外部对象中发生一个可捕捉的错误(%X)。脚本无法继续运行。
0116脚本分隔符结束标记丢失。脚本块缺少脚本结束标记(%>)。
0117脚本结束标记丢失。脚本块缺少脚本结束标记(</SCRIPT>)或标记结束符号(>)。
0118对象的结束标记丢失。对象块缺少对象结束标记(</OBJECT>)或标记结束符号(>)。
0119 Classid或Progid属性丢失。对象实例'|'在对象标记中需要有效的Classid或Progid。
0120 Runat属性无效。脚本标记或对象标记的Runat属性只能有'Server'值。
0121对象标记中的范围无效。对象实例'|'的作用范围不能是Application或Session。要创建有Session或Application作用范围的对象实例,请将在Global.asa文件中加入Object标记。
0122对象标记中的范围无效。对象实例'|'必须有Application或Session作用范围。这将应用于所有在Global.asa文件内创建的对象。
0123缺少Id属性。缺少Object标记所需的Id属性。
0124 Language属性丢失。缺少Object标记所需的Language属性。
0125属性结束标记丢失。'|'属性的值没有结束分隔符。
0126未找到Include文件。未找到Include文件'|'。
0127 HTML注释的结束标记丢失。HTML注释或在服务器端的包含文件缺少结束标记(-->)。
0128 File或Virtual属性丢失。Include文件名必须用File或Virtual属性指定。
0129未知的脚本语言。服务器上找不到脚本语言'|'。
0130 File属性无效。File属性'|'不能以斜杠或反斜杠开始。
0131不允许的父路径。Include文件'|'不能包含'..'来表示父目录。
0132编译错误。无法处理Active Server Page '|'。
0133 ClassID属性无效。对象标记有一个无效的ClassID '|'。
0134 ProgID属性无效。对象有一个无效的ProgID '|'。
0135循环包含。文件'|'包含它本身(可能是非直接地包含)。请检查包含文件中的其他Include语句。
0136对象实例名无效。对象实例'|'试图使用一个保留名称。这个名称被Active Server Pages的内部对象使用。
0137全局脚本无效。脚本块必须是允许的Global.asa过程之一。Global.asa文件中不允许在<% ... %>内使用脚本指令。允许的过程名称是Application_OnStart、Application_OnEnd、Session_OnStart或Session_OnEnd。
0138脚本块嵌套。脚本块不可放在另一个脚本块内。
0139嵌套对象。对象标记不能放在另一个对象标记内。
0140页命令次序有误。@命令必须是Active Server Page中的第一个命令。
0141页命令重复。@命令只可以在Active Server Page中使用一次。
0142线程令牌错误。无法打开线程令牌。
0143应用程序名无效。未找到有效的应用程序名称。
0144初始化错误。初始化时页级别的对象列表失败。
0145新应用程序失败。无法添加新的应用程序。
0146新会话失败。无法添加新的会话。
0147 500服务器错误。
0148服务器太忙。

0149正在重新启动应用程序。重启动应用程序期间无法处理请求。
0150应用程序目录错误。无法打开应用程序目录。
0151更改通知错误。无法创建更改通知事件。
0152安全错误。处理用户安全凭据时发生错误。
0153线程错误。新线程请求已失败。
0154 HTTP头写入错误。HTTP头无法写入客户端浏览器。
0155页内容写入错误。页内容无法写入客户端浏览器。
0156头错误。HTTP头已经写入到客户端浏览器。任何HTTP头必须在写入页内容之前修改。
0157启用缓冲。缓冲启用后不能关闭。
0158 URL丢失。URL是必需的。
0159缓冲已关闭。缓冲必须启用。
0160日志记录错误。将条目写入日志失败。
0161数据类型错误。将Variant转换为String变量失败。
0162不能修改Cookie。不能修改Cookie 'ASPSessionID'。它是一个保留的Cookie名。
0163逗号用法无效。日志条目内不可使用逗号。请选择另一个分隔符。
0164 TimeOut值无效。指定的TimeOut值无效。
0165 SessionID错误。无法创建SessionID字符串。
0166对象未初始化。试图访问未初始化的对象。
0167会话初始化错误。初始化Session对象时发生错误。
0168禁止的对象使用。Session对象中不能保存内部对象。
0169缺少对象信息。Session对象中不能保存信息不全的对象。需要对象的线程模型信息。
0170删除会话错误。无法正确删除Session。
0171路径丢失。必须为MapPath方法指定Path参数。
0172路径无效。MapPath方法的路径必须是虚拟路径。使用了一个实际的路径。
0173路径字符无效。MapPath方法的Path参数中指定了一个无效字符。
0174多个路径字符无效。MapPath方法的Path参数中指定了无效的'/'或'//'。
0175不允许的路径字符。MapPath方法的Path参数中不允许使用'..'字符。
0176未找到路径。MapPath方法的Path参数与已知路径不符。
0177 Server.createObject失败。%s
0178 Server.createObject访问错误。检查权限时调用Server.createObject失败。对此对象的访问被拒绝。
0179应用程序初始化错误。初始化Application对象时发生错误。
0180禁止的对象使用。Application对象中不能保存内部对象。
0181线程模型无效。使用单元线程模型的对象不能存储在Application对象中。
0182对象信息丢失。Application对象中不能保存信息不全的对象。需要此对象的线程模型信息。
0183空Cookie项。不能保存空项Cookie。
0184 Cookie名称丢失。必须为Cookie指定名称。
0185默认属性丢失。未找到对象的默认属性。
0186证书分析错误。

0187对象添加冲突。无法将对象添加到应用程序。应用程序被另一个要求添加对象的请求锁定。
0188禁止的对象使用。无法将用对象标记创建的对象添加到会话内部。
0189禁止的对象使用。无法将用对象标记创建的对象添加到应用程序内部。
0190意外错误。释放外部对象时发生可捕获错误。
0191意外错误。外部对象的OnStartPage方法中发生可捕获错误。
0192意外错误。外部对象的OnEndPage方法中发生可捕获错误。
0193 OnStartPage失败。外部对象的OnStartPage方法中出错。
0194 OnEndPage失败。外部对象的OnEndPage方法中出错。
0195无效的服务器方法调用。Session_OnEnd和Application_OnEnd期间不能调用Server对象的此方法。
0196无法启动进程外组件。只能使用InProc服务器组件。若要使用LocalServer组件,必须设置AspAllowOutOfProcComponents配置数据库设置。请参阅帮助文件,了解重要注意事项。
0197禁止的对象使用。不能将有单元模型行为的对象添加到应用程序内部对象。
0198服务器正在关闭。不能处理请求。
0199禁止的对象使用。不能将JScript.对象添加到会话。
0200超出'Expires'属性范围。为'Expires'指定的日期和时间在1980年1月1日之前或在2038年1月19日3:14:07 GMT之后。
0201默认脚本语言无效。为此应用程序指定的默认脚本语言无效。
0202代码页丢失。代码页属性丢失。
0203代码页无效。指定的代码页属性无效。
0204CodePage值无效。指定的CodePage值无效。
0205更改通知。创建更改通知事件失败。
0206不能调用BinaryRead。使用Request.Form.集合后不能调用BinaryRead。
0207不能使用Request.Form。调用BinaryRead后不能使用Request.Form.集合。
0208不能使用通用Request集合。调用BinaryRead后不能使用通用Request集合。
0209 TRANSACTION属性的值非法。TRANSACTION属性只能是REQUIRED、REQUIRES_NEW、SUPPORTED或NOT_SUPPORTED。
0210方法未实施。此方法尚未实施。
0211对象超出范围。引用内置的ASP对象,此操作已不再有效。
0212无法清除缓冲区。客户端调试启用时,Response.Flush之后不能有Response.Clear。
0214路径参数无效。Path参数超出允许的最大长度。
0215 ENABLESESSIONSTATE属性的值非法。ENABLESESSIONSTATE属性的值只能是TRUE或FALSE。
0216 MSDTC服务未运行。如果未运行MSDTC服务,则不能运行事务性网页。
0217对象标记中的范围无效。对象的作用范围必须是Page、Session或Application。
0218 LCID丢失。LCID属性丢失。
0219 LCID无效。指定的LCID不可用。
0220不允许请求GLOBAL.ASA。不允许请求指向GLOBAL.ASA的URL。
0221 @命令指令无效。指定的'|'选项未知或无效。
0222 TypeLib规范无效。METADATA标记包含无效的类型库规范。
0223未找到TypeLib。METADATA标签含有的类型库规范和注册表项不符。
0224无法加载TypeLib。无法加载METADATA标记中指定的类型库。
0225无法包装TypeLib。不能通过METADATA标记中指定的类型库创建类型库包装对象。
0226无法修改StaticObjects。运行时无法修改StaticObjects集合。
0227 Server.Execute失败。调用Server.Execute失败。
0228 Server.Execute错误。加载此页时调用Server.Execute失败。
0229 Server.Transfer失败。调用Server.Transfer失败。
0230 Server.Transfer错误。加载此页时调用Server.Transfer失败。
0231 Server.Execute错误。使用的URL格式无效,或者使用了完全限定的绝对URL。请使用相对URL。
0232 Cookie规范无效。METADATA标记包含无效的Cookie规范。
0233无法加载Cookie脚本源。无法加载METADATA标记中指定的Cookie脚本源文件。
0234包含指令无效。脚本块中可能没有服务器端包含文件指令。请使用<SCRIPT>标签的SRC=属性。
0235 Server.Transfer错误。使用的URL格式无效,或者使用了完全限定的绝对URL。请使用相对URL。
0236 Cookie规范无效。METADATA标记包含无效的SRC参数或缺少该参数。
0237 Cookie规范无效。METADATA标记包含无效的NAME参数或缺少该参数。
0238属性值丢失。没有为'|'属性指定值。
0239无法处理文件。不支持UNICODE ASP文件。
0240脚本引擎异常。ScriptEngine在'%s'中从'%s'引发'%X'异常。
0241 createObject异常。'%s'的createObject引发%X异常。
0242查询OnStartPage接口异常。查询的'%s'对象的OnStartPage或OnEndPage方法引发%X异常。
0243 Global.asa中的METADATA标记无效。Global.asa中只能使用METADATA TYPE="TypeLib"。
0244无法启用会话状态。应用程序中禁用会话时,无法启用会话状态。
0245代码页值混合使用。指定的@CODEPAGE值与包含文件的CODEPAGE或文件的已保存格式的值不同。
0246并发用户太多。请稍后再试..
0247 BinaryRead的参数无效。BinaryRead的参数必须为非负值。
0248未处理脚本。必须处理此ASP文件才能使用ObjectContext对象。
0249无法在Request上使用IStream。使用Request.Form.集合或Request.BinaryRead后无法在Request对象上使用IStream。
0250默认代码页无效。为此应用程序指定的默认代码页无效。
0251超出响应缓冲区限制。ASP页的执行引起响应缓冲区超出其配置限制。

 

代码=描述

200正常

201已创建

202已接受

203非授权信息

204无内容

205重置内容

206部分内容

300多项选择

301永久移动

302已找到

303查看其他

304没有修改

305使用代理

307临时重定向

400错误请求

401未授权

402需付费

403禁止

404未找到

405不允许使用此方法

406无法接受

407需要代理服务器身份验证

408请求超时

409冲突

410不存在

411要求长度

412不满足前提条件

413请求实体太大

414请求-URI太大

415不支持的媒体类型

416无法满足所要求的范围

417预期失败

500内部服务器错误

501未执行

502网关无效

503服务不可用

504网关超时

505不支持HTTP版本


 

 

原创粉丝点击