admin 管理员组文章数量: 1088115
可能大家经常会见到404not found,无法找到指定位置的资源,其实404是http请求状态码的一种。
那么http状态码是什么呢?它是怎么产生的呢?
定义
每一个http响应都会带有一个http状态码用来表示http服务器的响应状态。
http所有状态码的第一个数字代表了响应的状态,1:消息,2:成功,3:重定向,4:请求错误,客户端有误,5、6:服务器错误。
产生
当浏览者访问一个网页时,浏览者的浏览器会向网页所在的服务器发出请求,当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含http状态码的信息头用以响应浏览器的请求。
上面只是简单地说了一下,那么现在我就和大家详细的聊一聊404以及他的兄弟们吧。
1xx:消息
请求已被接受,需要继续处理。
此类状态码,只在某些试验条件下使用,其他时候服务器是禁止向此类客户端发送1xx状态码,因此大家做以了解即可。
100:初始请求已接受,客户应继续发送请求;(Continue)
101:服务器遵循客户请求转换到另一协议;(Switching Protocols)
102:由WebDAV(RFC 2518)扩展的状态码,处理将被继续执行。(Processing)
2xx:成功
请求已成功被服务器接收、理解并处理。
200:一切正常,对get和post请求的应答文档紧跟其后;(Ok)成功
201:服务器已经创建了文档,location头给出了它的url;(Created)(已创建)
202:服务器已经接受请求,但是处理尚未完成;(Accepted)(已接受)
203:服务器成功处理了请求,但返回的信息可能来自另一个来源;(Non-Authoritative Information)(未授权信息)
204:服务器成功处理了请求,但没有返回任何内容,当前页面文档视图不会有变化;(No Content)(无内容)
205:服务器成功处理了请求,但没有返回任何内容,强制浏览器清除表单输入内容,重置显示内容,当前页面文档视图会发生变化;(Reset Content)(重置内容)
206:服务器成功处理了部分get请求;(Partial Content)(部分内容)
207:由WebDAV(RFC 2518)扩展的状态码,代表之后的消息体将是一个XML消息,并且可能依照之前子请求数量的不同,包含一系列独立的响应代码。(Multi-Status)
3xx:重定向
客户端需要进一步操作才可以完成请求,用来重定向,后续的请求地址在本次响应的location域中指明。
300: 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。(Multiple Choices)(多种选择)
301 : 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。(Moved Permanently)(永久移动)
302 : 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。(Move temporarily)(临时移动)
303 : 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。(See Other)(查看其他位置)
304 :自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。(Not Modified)(未修改)
305 :请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。(Use Proxy)(使用代理)
306:最新版本不使用。
307 : 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。(Temporary Redirect)(临时重定向)
4xx:请求错误
客户端可能发生了错误,妨碍了服务器处理。
400 : 服务器不理解请求的语法。(错误请求)
401 : 请求要求身份验证。 对于需要登录的网页,服务器可能返回此响应。(未授权)
403 : 服务器拒绝请求。(禁止)
404 : 服务器找不到请求的网页。(未找到)
405 : 禁用请求中指定的方法。(方法禁用)
406 : 无法使用请求的内容特性响应请求的网页。(不接受)
407 : 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。(需要代理授权)
408 :服务器等候请求时发生超时。(请求超时)
409 : 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。(冲突)
410 : 如果请求的资源已永久删除,服务器就会返回此响应。(已删除)
411 : 服务器不接受不含有效内容长度标头字段的请求。(需要有效长度)
412::服务器未满足请求者在请求中设置的其中一个前提条件。(未满足前提条件)
413 : 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。(请求实体过大)
414 : 请求的 URI(通常为网址)过长,服务器无法处理。(请求的 URI 过长)
415 (不支持的媒体类型) 请求的格式不受请求页面的支持。
416 (请求范围不符合要求) 如果页面无法提供请求的范围,则服务器会返回此状态代码。
417 (未满足期望值) 服务器未满足"期望"请求标头字段的要求。
5xx、6xx:服务器错误
服务器在尝试处理请求时发生内部错误。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。
501 (尚未实施) 服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 (错误网关) 服务器作为网关或代理,从上游服务器收到无效响应。
503 (服务不可用) 服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 (网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 (HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
比较常用的我已经用大红色进行了标记。
看了这么多,那么http状态码可以用来干什么呢?
主要作用就是服务器告诉客户端当前网页请求发生了什么,用来判断和分析当前web服务器的运行状况。
版权声明:本文标题:http状态码---关于404和它的兄弟们 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1738265707a1953493.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论