HTTP状态码

一、介绍

​ 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结果。借助状态码,用户可以知道服务器端是正常处理了请求还是出现了错误

【注意】 状态码是:服务端向客户端发送的反映响应结果的标识码

下面是常见的几种状态码:

已定义范围 类别 原因短语 整体范围
100~101 information(信息提示) 接收请求正在处理 100~199
200~206 Success(请求成功) 请求正常处理完毕 200~299
300~305 Redirection(重定向) 需要进行附加操作以完成请求 300~399
400~415 Client Error(客户端错误) 服务器无法处理请求 400~499
500~505 Server Error(服务器错误) 服务器处理请求出错 500~599

二、HTTP请求状态码表:

状态码 状态码英文名称 中文描述
100 Continue 继续,客户端应继续其请求
101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议
200 OK 请求成功。一般用于GET与POST请求
201 Created 已创建。成功请求并创建了新的资源
202 Accepted 已接受。已经接受请求,但未处理完成
203 Non-Authoritative Information 非授权信息。请求成功。但返回的meta信息不在原始的服务器,而是一个副本
204 No Content 无内容。服务器成功处理,但未返回内容。在未更新网页的情况下,可确保浏览器继续显示当前文档
205 Reset Content 重置内容。服务器处理成功,用户终端(例如:浏览器)应重置文档视图。可通过此返回码清除浏览器的表单域
206 Partial Content 部分内容。服务器成功处理了部分GET请求
300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择
301 Moved Permanently 永久移动。请求的资源已被永久的移动到新URI,返回信息会包括新的URI,浏览器会自动定向到新URI。今后任何新的请求都应使用新的URI代替
302 Found 临时移动。与301类似。但资源只是临时被移动。客户端应继续使用原有URI
303 See Other 查看其它地址。与301类似。使用GET和POST请求查看
304 Not Modified 未修改。所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
305 Use Proxy 使用代理。所请求的资源必须通过代理访问
306 Unused 已经被废弃的HTTP状态码
307 Temporary Redirect 临时重定向。与302类似。使用GET请求重定向
400 Bad Request 客户端请求的语法错误,服务器无法理解
401 Unauthorized 请求要求用户的身份认证
402 Payment Required 保留,将来使用
403 Forbidden 服务器理解请求客户端的请求,但是拒绝执行此请求
404 Not Found 服务器无法根据客户端的请求找到资源(网页)。通过此代码,网站设计人员可设置"您所请求的资源无法找到"的个性页面
405 Method Not Allowed 客户端请求中的方法被禁止
406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求
407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权
408 Request Time-out 服务器等待客户端发送的请求时间过长,超时
409 Conflict 服务器完成客户端的 PUT 请求时可能返回此代码,服务器处理请求时发生了冲突
410 Gone 客户端请求的资源已经不存在。410不同于404,如果资源以前有现在被永久删除了可使用410代码,网站设计人员可通过301代码指定资源的新位置
411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息
412 Precondition Failed 客户端请求信息的先决条件错误
413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息
414 Request-URI Too Large 请求的URI过长(URI通常为网址),服务器无法处理
415 Unsupported Media Type 服务器无法处理请求附带的媒体格式
416 Requested range not satisfiable 客户端请求的范围无效
417 Expectation Failed 服务器无法满足Expect的请求头信息
500 Internal Server Error 服务器内部错误,无法完成请求
501 Not Implemented 服务器不支持请求的功能,无法完成请求
502 Bad Gateway 作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应
503 Service Unavailable 由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中
504 Gateway Time-out 充当网关或代理的服务器,未及时从远端服务器获取请求
505 HTTP Version not supported 服务器不支持请求的HTTP协议的版本,无法完成处理

1、100~199 信息性状态码

  • 100 Continue:

客户端想向服务器发送实体,但不确定服务器能不能接受,所以首先会向服务器发送一个携带了100 continueExcept,服务器受到这个请求之后如果能接收客户端发来的实体,那就返回一个100 Continue响应,如果不能就返回一个错误码。

  • 101 Switching Protocols:

服务器正在根据客户端的指定,将协议切换成Update首部所列的协议。

2、200~299 成功

服务器有一组用来表示成功的状态码,分别对应于不同类型的请求。

  • 200 OK:

    从客户端发来的请求在服务器端被正常处理了,实体的主体部分包含了所请求的资源。

  • 201 Created:

    用于创建服务器对象的请求(比如:PUT),响应的实体主体部分中应该包含各种引用了已经创建好的资源的URL,Location首部包含的则是具体的引用。

  • 202 Accepted:

    请求已经被接收,但服务器还没有执行任何操作。并不意味着服务器会完成这个请求。

  • 203 Non-Authoritative-Information:

    实体首部包含的信息不是来自于源端服务器,而是来自资源的一份副本

  • 204 No Content:

    服务器成功处理了请求,但没有返回任何内容。主要用于在浏览器不转为显示新文档的情况下,对其进行更新(比如刷新表单页面)。

  • 205 Reset Content:

    用于浏览器的代码,告诉浏览器清除当前页面中所有HTML表单元素。

  • 206 Partial Content:

    成功执行了一个部分或者Range请求,因为客户端可以通过一些特殊的首部来获取部分或者范围内的文档。响应报文中包含由 Content-Range 指定范围的实体内容

3、 300~399 重定向

重定向状态码要么告诉客户端使用代替位置来访问他们所感兴趣的资源,要么就提供一个替代的响应而不是资源的内容。如果资源已被移动,可以发送一个重定向状态码和一个可选的Location首部来告知客户端资源已被移走。以及现在可以在那里找到它。这样浏览器就可以自己转向新的位置了。

  • **300 Multiple Choise:**客户端请求一个世纪指向多个资源的URL时会返回这个状态码,比如服务器上有某个HTML文档的英语和发育版本,返回这个状态码时会有一个选项列表,这样客户端就可以选择了。
  • **301 Moved Permanently:**永久性重定向。该状态码表示请求的资源已被分配了新的 URI(该URL存在Location首部中),以后应使用资源现在所指的 URI。
  • **302 Found:临时性重定向:**该状态码表示请求的资源已被分配了新的 URI(该URL存在Location首部中),希望用户(本次)能使用新的 URL 访问,将来的请求还应使用老的URL。注意:刚开始客户端发送POST请求,在收到302状态码后,使用GET请求访问新给的URL。在HTTP1.0生效。
  • **303 See Other:**告知客户端应该用另一个URL(该URL存在Location首部中)来获取资源,其主要目的是允许POST请求的响应将客户端定向到某个资源上去。在HTTP1.1生效。
  • **304 Not Modified:**此状态码适用于客户端发送了一个有条件的请求( If-Match,If-ModifiedSince,If-None-Match,If-Range,If-Unmodified-Since )。比如客户端想获取某个资源,并且是在XXX时间修改过的新的资源,如果这个资源没有修改,服务端就返回304给客户端。
  • **305 Use Proxy:**用来告诉客户端必须通过一个代理来访问资源,代理的位置在Location里。
  • **306:**还没用这个状态码
  • **307 Temporary Redirect:**临时重定向。该状态码与 302 Found 有着相同的含义。307 会遵照浏览器标准,不会从 POST 变成 GET。

4、400~499 客户端错误

4XX 的响应结果表明客户端是发生错误的原因所在。但很多4xx错误都被浏览器解决了,所以用户经常看到的也就是404了。

  • **400 Bad Request:**该状态码表示请求报文中存在语法错误。
  • **401 Unauthorized:**告诉客户端,要想获取资源的访问权,首先要对自己认证。
  • **402 Payment Required:**此状态码还未被使用,保留中。
  • **403 Forbidden:**表明服务器拒绝了这个来自客户端的请求。一般不会说明缘由。
  • **404 Not Found:**表明服务器上无法找到请求的资源。一般还会包含一个实体(比如404页面),以便客户端给用户看。
  • **405 Method Not Allowed:**客户端发起的请求中带有所有请求的URL不支持的方法。同时应该在响应中包含Allow首部,以告诉客户端可以使用什么方法。
  • **406 Not Accepted:**客户端可以在请求首部中指明自己愿意接收什么类型的实体,但是当服务器没有这种类型实体的时候,会发送406.
  • **407 proxy Authentication Required:**与401类似,但是用于要求对资源进行认证的代理服务器。
  • **408 Request TImeout:**如果客户端完成请求所话的时间太长,服务器返回此代码并关闭连接。
  • **409 Conflict:**用于说明请求可能在资源上引发一些冲突。服务器担心请求会引发冲突时,发送此代码。并在响应的主体中描述冲突。
  • **410 Gone:**与404类似,只是服务器曾经拥有过此资源。
  • **411 Length Required:**服务器要求客户端发请求的时候包含Content-Length首部的时候发送此代码。
  • **412 Precondition Failed:**客户端发起了条件请求,且其中一个条件失败了的时候会收到此状态码。
  • **413 Request Entity Too large:**客户端发送的实体主体比服务器所能希望处理的要大时,使用此代码。
  • **414 Request URL Too Long:**客户端发送的请求URL比服务器所能希望处理的要长时,使用此代码。
  • **415 Unsupported Media Type:**服务器无法理解或无法支持客户端所发实体内容类型时,使用此状态码。
  • **416 Request Range Not Satisfiable:**请求报文所请求的是指定资源的某个范围,而此范围无效或者无法满足时,使用此状态码
  • **417 Expectation Failed:**请求的Expect请求首部包含了一个期望,但是服务器无法满足此期望时,使用此状态码。

5、 500~599 服务器错误

5XX 的响应结果表明服务器本身发生错误

  • **500 Internal Server Error:**该状态码表明服务器端在执行请求时遇到了一个妨碍它为请求提供服务的错误,也有可能是 Web 应用存在的 bug 或某些临时的故障。
  • **501 Not Implemented:**客户端发起的请求超出服务器的能力范围(比如使用了服务器不支持的请求方法)
  • **502 Bad Gateway:**作为代理或网关使用的服务器从请求响应链的下一条链路上受到了一条伪响应(比如,它无法连接到其他父网关)时,使用此码。
  • **503 Service Unavailable:**该状态码表明服务器暂时处于超负载或正在进行停机维护,现在无法处理请求,但是将来可以。如果服务器知道什么时候能回复,可以在响应首部中添加Retry-After
  • **504 Gateway Timeout:**与408类似,只是这里的响应来自一个网关或者代理,他们等待另一个服务器对齐请求进行响应超时了。
  • **505 HTTP Version Not Supported:**服务器收的请求使用了它无法或者不愿支持的协议版本时,使用此状态码。

HTTP状态码表格汇总相关推荐

  1. http请求状态码表示的意义

    http请求状态码表示的意义 1. 4开头的http状态码表示请求出错. 400服务器不理解请求的语法. 401请求要求身份验证.对于需要登录的网页,服务器可能返回此响应. 403服务器拒绝请求. 4 ...

  2. HTTP状态查询,HTTP状态码含义,HTTP头部信息查询,http状态码表

    HTTP状态查询,HTTP状态码含义,HTTP头部信息查询,http状态码表 状态码表 状态码 状态码英文名称 中文描述 100 Continue 继续.客户端应继续其请求 101 Switching ...

  3. OSPF链路状态通告类型汇总

    路由器必须知道OSPF区域的详细拓扑才能计算最优路径,LSA描述了拓扑的详细信息,是构成OSPF LSDB的基石. 1.类型1,路由器LSA: ·所有路由器都会生成这一类型的链路状态通告 ·指明了它们 ...

  4. Http状态码梳理汇总

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

  5. Android常用的蓝牙,GPS,网络等状态检测方法汇总

    序言 记录Android的一些判断网络,蓝牙,GPS,等设备状态的方法. 1.判断网络是否可用 // 是否有可用网络private boolean isNetworkConnected() {Conn ...

  6. 404,500等HTTP状态码表示的含义

    链接:https://www.zhihu.com/question/19599716/answer/107116939 HTTP状态码 1xx-信息提示这些状态代码表示临时的响应.客户端在收到常规响应 ...

  7. 常用端口号与状态码信息汇总(持续更新)

    材料均取自于互联网大世界 端口号: 21号端口: FTP服务端口是21号端口,默认情况下FTP协会使用TCP端口中的20和21这两个端口,作用如下: 21端口:FTP传输控制信息端口,用于连接: 23 ...

  8. 网络编程-JavaScript中发送网络请求汇总

    文章目录 1.前后端分离优势 2.HTTP协议的解析 2.1 HTTP的介绍 2.2 HTTP的组成 2.3 HTTP的版本 2.4 HTTP请求方式 2.5 HTTP请求头字段 2.6 HTTP响应 ...

  9. HTTP状态码 详细解析汇总

    一.常见的14个状态码 1.200 OK:请求已正常处理. 2.204 No Content:请求处理成功,但没有任何资源可以返回给客户端,一般在只需要从客户端往服务器发送信息,而对客户端不需要发送新 ...

最新文章

  1. Google更新机器学习开发套件ML Kit,新增支持自动回复与语言识别
  2. [Unity3D]Script 脚本所有编译器属性详解
  3. 计算机组成原理tec9,(15-16-2)实验1-寄存器-TEC9.docx
  4. 浏览器对象模型(BOM)
  5. java判断long 大于0,JAVA的一道习题:找出五个大于Long.MAX_VALUE的素数
  6. vmware传东西到linux后文件变小,在VMWARE的Linux虚拟机上删除大容量文件后硬盘空间大小还不变怎么办?虚拟机虚拟机的各种应用及问题...
  7. python自学网站-分享干货:三个新手自学Python的网站!
  8. pymongo根据ObjectId 查找文档记录
  9. 2020年系统集成项目管理工程师课教程
  10. 数据库语句创建数据库
  11. java项目-第37期基于springboot+layui实现的医院His系统【毕业设计】
  12. Centos7 Firewalld 自定义规则
  13. 动能方案|RFID动物耳标解决方案
  14. Shiro在线刷新权限
  15. 【2022网易雷火】游戏研发笔试-AC代码及题目分享
  16. 面对不喜欢的工作,只有跳槽一条路吗?
  17. 深度学习(9) 计算机专业方面的期刊介绍
  18. Java计算机毕业设计舒旅程旅游景点预订网站源码+系统+数据库+lw文档
  19. 【计算机毕业设计】KTV点歌系统
  20. uniapp android 调用原生 文件管理

热门文章

  1. php请求来源,php验证请求页面来源
  2. 自定义_如何自定义协议
  3. 一建机电实务教材电子版_2020一建教材+章节习题+新旧教材对比【全科】免费送...
  4. 2020深度文本匹配最新进展:精度、速度我都要!
  5. 论文浅尝 - 计算机工程 | 大规模企业级知识图谱实践综述
  6. 清华CrossWOZ,助你徒手搭建任务导向对话系统
  7. 记录对String.format(Formatter().format())方法的总结
  8. 【Java】函数式编程
  9. JavaScript每日学习日记(2)
  10. [原创]关于在VS解决方案下使用文件夹管理多个项目层次关系的说明