401、404等代码的意思( 三 )


407 Proxy Authentication Required(需要代理身份验证)
与401响应类似系统资源不足无法完成请求的服务,只不过客户端必须在代理服务器上进行身份验证 。代理服务器必须返回一个 Proxy-Authenticate 用以进行身份询问 。客户端可以返回一个 Proxy-Authorization 信息头用以验证 。参见RFC 2617 。
408 Request Timeout(请求超时)
请求超时 。客户端没有在服务器预备等待的时间内完成一个请求的发送 。客户端可以随时再次提交这一请求而无需进行任何更改 。
409 Conflict(冲突)
由于和被请求的资源的当前状态之间存在冲突,请求无法完成 。这个代码只允许用在这样的情况下才能被使用:用户被认为能够解决冲突,并且会重新提交新的请求 。该响应应当包含足够的信息以便用户发现冲突的源头 。
冲突通常发生于对 PUT 请求的处理中 。例如,在采用版本检查的环境下,某次 PUT 提交的对特定资源的修改请求所附带的版本信息与之前的某个(第三方)请求向冲突,那么此时服务器就应该返回一个409错误,告知用户请求无法完成 。此时,响应实体中很可能会包含两个冲突版本之间的差异比较,以便用户重新提交归并以后的新版本 。
410 Gone(不存在)
被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址 。这样的状况应当被认为是永久性的 。如果可能,拥有链接编辑功能的客户端应当在获得用户许可后删除所有指向这个地址的引用 。如果服务器不知道或者无法确定这个状况是否是永久的,那么就应该使用404状态码 。除非额外说明,否则这个响应是可缓存的 。
410响应的目的主要是帮助网站管理员维护网站,通知用户该资源已经不再可用系统资源不足无法完成请求的服务,并且服务器拥有者希望所有指向这个资源的远端连接也被删除 。这类事件在限时、增值服务中很普遍 。同样,410响应也被用于通知客户端在当前服务器站点上,原本属于某个个人的资源已经不再可用 。当然,是否需要把所有永久不可用的资源标记为'410 Gone',以及是否需要保持此标记多长时间,完全取决于服务器拥有者 。
411 Length Required(要求长度)
服务器拒绝在没有定义 Content-Length 头的情况下接受请求 。在添加了表明请求消息体长度的有效 Content-Length 头之后,客户端可以再次提交该请求 。
412 Precondition Failed(先决条件失败)
服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个 。这个状态码允许客户端在获取资源时在请求的元信息(请求头字段数据)中设置先决条件,以此避免该请求方法被应用到其希望的内容以外的资源上 。
413 Request Entity Too Large(请求实体太大)
服务器拒绝处理当前请求,因为该请求提交的实体数据大小超过了服务器愿意或者能够处理的范围 。此种情况下,服务器可以关闭连接以免客户端继续发送此请求 。
如果这个状况是临时的,服务器应当返回一个 Retry-After 的响应头,以告知客户端可以在多少时间以后重新尝试 。
414 Request-URI Too Long(请求URI太长)
请求的URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务 。这比较少见,通常的情况包括:
本应使用POST方法的表单提交变成了GET方法,导致查询字符串(Query String)过长 。
重定向URI “黑洞”,例如每次重定向把旧的 URI 作为新的 URI 的一部分,导致在若干次重定向后 URI 超长 。
客户端正在尝试利用某些服务器中存在的安全漏洞攻击服务器 。这类服务器使用固定长度的缓冲读取或操作请求的 URI,当 GET 后的参数超过某个数值后,可能会产生缓冲区溢出,导致任意代码被执行 。没有此类漏洞的服务器,应当返回414状态码 。


以上关于本文的内容,仅作参考!温馨提示:如遇专业性较强的问题(如:疾病、健康、理财等),还请咨询专业人士给予相关指导!

「辽宁龙网」www.liaoninglong.com小编还为您精选了以下内容,希望对您有所帮助: