可能大家经常会见到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和它的兄弟们相关推荐

  1. HTTP常见状态码(404、400、500)

    HTTP状态码表示客户端HTTP请求的返回结果.标记服务器端的处理是否正常或者是出现的错误,能够根据返回的状态码判断请求是否得到正确的处理很重要. 状态码分类表 类别 原因短语 1xx Informa ...

  2. http协议的状态码:404等常见网页错误代码

    http协议的状态码 一.1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码. 100(继续) 请求者应当继续提出请求.服务器返回此代码表示已收到请求的第一部分,正在等待其余部分. 10 ...

  3. HTTP常见状态码(404、400、500)等错误

    一些常见的状态码为: 200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务不可用 详细分解: 1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明 ...

  4. HTTP响应状态码(404,500……)

    ----转载,原文链接:https://blog.csdn.net/weixin_42007999/article/details/105683260 在使用 HttpRunner 进行接口测试的时候 ...

  5. 配置nginx/apache的404状态码来申请百度闭站保护

    nginx 配置全站404(百度闭站保护) 在nginx.conf或者虚拟主机的conf配置文件添加下方规则: location / {     return 404; } apache设置全站htt ...

  6. http状态码查询,各种返回码的详解(200、206、500、416、403、404)

    http状态码查询,各种返回码的详解(200.206.500.416.403.404) 文章由帮客之家于2013-11-25 12:11:44分享 评论(324) HTTP状态码,我都是现查现用. 我 ...

  7. python flask 返回值 状态码 设置

    在使用Flask以及插件Flask-RESTful来开发RESTful API时,返回值和状态码的设计是非常重要的一个部分.对于初学者,在不使用response或errorhandler()等装饰器时 ...

  8. HTTP协议方法及状态码(HTTP协议入门必备)

    目录 基本概念 使用telnet演示HEAD方法 使用telnet演示TRACE方法 使用telnet演示OPTIONS方法 HTTP响应中的状态码 304响应演示 使用telnet演示304响应 基 ...

  9. [转]HTTP协议之状态码详解

    HTTP协议之状态码详解 HTTP状态码,我都是现查现用. 我以前记得几个常用的状态码,比如200,302,304,404, 503. 一般来说我也只需要了解这些常用的状态码就可以了.  如果是做AJ ...

最新文章

  1. C++ STL: 分配器allocators 源码分析
  2. 计算机文件无法显示后缀,但一般情况下电脑默认是看不到文件格式显示(也就是文件扩展名)...
  3. 什么时候你应该用JSON Web Token
  4. element 项目 示例_Java ArrayDeque element()方法与示例
  5. powerdesigner 16设计mysql数据库_PowerDesigner16 连接MySql 报错
  6. Paramiko模块(堡垒机)
  7. SpringMVC+Spring Data JPA实现增删改查操作
  8. 中国航空零部件制造行业业十四五投资发展规划及发展前景预测报告2022-2028年版
  9. 监控摄像机的视频摘要(Video Summarization of Surveillance Cameras)
  10. LowMemoryKiller 的使用
  11. 智能化的Conversational UI是移动发展的一个趋势
  12. Excel高级子列合并
  13. 12、计算机如何实现开根号?
  14. linux自动同步onedrive,Linux下同步onedrive
  15. Dijkstra最短路径算法——java代码实现
  16. 用户测评:G2L开发板初体验
  17. 满足你的好奇,手动拆解示波器,了解机内高科技
  18. laydate插件清除事件
  19. 突发奇想,在虚拟机中套娃,在Windows中安装MAC在安装Windows
  20. 【操作系统】几种常用调度算法

热门文章

  1. 工作中常用到的Linux命令操作
  2. html中字体移动怎么设置彩铃,电话彩铃怎么设置
  3. python接口自动化测试书籍_干货丨Python接口测试自动化实战及代码示例:含get、post等方法...
  4. 如何用Matlab批量读取Excel 表格 .csv .xlsx .xls格式文件并整合成一个.mat格式文件保存
  5. TexStudio中原先可正常编译的tex工程,现在却编译始终出错
  6. 最大流(网络流基础概念+三个算法)
  7. IDEA如何设置字体大小?
  8. react取消捕获_React中阻止事件冒泡的问题详析
  9. Android进阶——Android弹窗组件工作机制之Dialog、DialogFragment
  10. 一天学会从抓包到接口测试,通过智慧物业项目深度解析