HTTP 状态码详解
文章
林里克斯
HTTP 状态码(英语:HTTP Status Code)是用以表示网页服务器超文本传输协议响应状态的 3 位数字代码。HTTP 状态码的核心作用是 Web Server 服务器用来告诉客户端,当前的网页请求发生了什么事,或者说当前 Web 服务器的响应状态。所以 HTTP 状态码常用来判断和分析当前 Web 服务器的运行状况。
排错能力
一、HTTP 状态码的分类
1
开头的状态码
信息,服务器收到请求,需要请求者继续执行操作
2
开头的状态码
成功,操作被成功接收并处理
3
开头的状态码
重定向,需要进一步的操作以完成请求
4
开头的状态码
客户端错误,请求包含语法错误或无法完成请求
5
开头的状态码
服务器错误,服务器在处理请求的过程中发生了错误
二、具体 HTTP 状态码的含义
1
开头的HTTP
状态码
表示临时响应并需要请求者继续执行操作的状态代码。
100 Continue(继续) 请求者应当继续提出请求。 服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。
101 Switching Protocols(切换协议) 请求者已要求服务器切换协议,服务器已确认并准备切换。
2
开头的HTTP
状态码
表示请求成功
200 OK 成功处理了请求,一般情况下都是返回此状态码;
201 Created 请求成功并且服务器创建了新的资源。
202 Accepted 服务器已接受请求,但尚未处理;
203 Non-Authoritative Information 服务器已成功处理了请求,但返回的实体头部元信息不是在原始服务器上有效的确定集合,而是来自本地或者第三方的拷贝;
204 No Content 服务器成功处理了请求,但不需要返回任何实体内容,并且希望返回更新了的元信息;
205 Reset Content 服务器成功处理了请求,且没有返回任何内容。但是与 204 响应不同,返回此状态码的响应要求请求者重置文档视图;
206 Partial Content 表示该服务器已经成功处理了部分 GET 请求;
207 Multi-Status
208 Already Reported
226 IM Used
3
开头的HTTP
状态码
重定向代码,也是常见的代码
300 Multiple Choices (多种选择) 针对请求,服务器可执行多种操作。 服务器可根据请求者 (user agent) 选择一项操作,或提供操作列表供请求者选择。
301 Moved Permanently (永久移动) 请求的网页已永久移动到新位置。 服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置。
302 Moved Temporarily (临时移动) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
303 See Other(查看其他位置) 请求者应当对不同的位置使用单独的 GET 请求来检索响应时,服务器返回此代码。
304 Not Modified(未修改) 自从上次请求后,请求的网页未修改过。 服务器返回此响应时,不会返回网页内容。
305 Use Proxy(使用代理) 请求者只能使用代理访问请求的网页。 如果服务器返回此响应,还表示请求者应使用代理。
307 Temporary Redirect(临时重定向) 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。
308 Permanent Redirect/Resume Incomplete
重定向
301
和 `302 的相同和不同点
301 和 302 状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的 URL 地址,这个地址可以从响应的 Location 首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址 B)——这是它们的共同点。
他们的不同在于: 301 表示旧地址 A 的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302 表示旧地址 A 的资源还在(仍然可以访问),这个重定向只是临时地从旧地址 A 跳转到地址 B,搜索引擎会抓取新的内容而保存旧的网址。
4
开头的HTTP
状态码
表示请求出错
400 Bad Request 语义有误,当前请求无法被服务器理解。除非进行修改,否则客户端不应该重复提交这个请求;
401 Unauthorized 请求要求身份验证;对于需要登录的网页,服务器可能返回此响应;
402 Payment Required 为了将来可能的需求而预留的;
403 Forbidden 服务器已经理解请求,但是拒绝执行它。与 401 响应不同的是,身份验证并不能提供任何帮助,而且这个请求也不应该被重复提交;
404 Not Found 请求失败,请求所希望得到的资源未被在服务器上发现;
405 Method Not Allowed 请求行中指定的请求方法不能被用于请求相应的资源;
406 Not Acceptable 请求的资源的内容特性无法满足请求头中的条件,因而无法生成响应实体;
407 Proxy Authentication Required 与 401 响应类似,只不过客户端必须在代理服务器上进行身份验证;
408 Request Timeout 请求超时。客户端没有在服务器预备等待的时间内完成一个请求的发送;
409 Conflict 由于和被请求的资源的当前状态之间存在冲突,请求无法完成;
410 Gone 被请求的资源在服务器上已经不再可用,而且没有任何已知的转发地址;
411 Length Required 服务器拒绝在没有定义 Content-Length 头的情况下接受请求;
412 Precondition Failed 服务器在验证在请求的头字段中给出先决条件时,没能满足其中的一个或多个;
413 Request Entity Too Large 服务器无法处理请求,因为请求实体过大,超出服务器的处理能力;
414 Request-URI Too Long 请求的 URI 长度超过了服务器能够解释的长度,因此服务器拒绝对该请求提供服务;
415 Unsupported Media Type 对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝;
416 Requested Range Not Satisfiable 如果请求中包含了 Range 请求头,并且 Range 中指定的任何数据范围都与当前资源的可用范围不重合,同时请求中又没有定义 If-Range 请求头,那么服务器就应当返回416状态码;
417 Expectation Failed 在请求头 Expect 中指定的预期内容无法被服务器满足,或者这个服务器是一个代理服务器,它有明显的证据证明在当前路由的下一个节点上,Expect 的内容无法被满足;
421 Misdirected Request;There are too many connections from your internet address;从当前客户端所在的IP地址到服务器的连接数超过了服务器许可的最大范围;
422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应;
423 Locked 当前资源被锁定
- 423 Interval Too Brief 注册时长间隔过短;先确认一下服务器配置的注册周期,然后照着这个值修改终端的注册周期,默认一般是600S;
424 Failed Dependency 由于之前的某个请求发生的错误,导致当前请求失败,例如 PROPPATCH;
425 Unordered Collection 在 WebDav Advanced Collections 草案中定义,但是未出现在《WebDAV 顺序集协议》(RFC 3658)中;
426 Upgrade Required 客户端应当切换到TLS/1.0;(RFC 2817)
428 Precondition Required(要求先决条件)客户端发送 HTTP 请求时,必须要满足的一些预设条件;
429 Too Many Requests(太多请求)
431 Request Header Fields Too Large(请求头字段太大)
440 Login Timeout(登录超时)
444 No Response(没有回应)
449 Retry With 由微软扩展,代表请求应当在执行完适当的操作后进行重试
450 Blocked by Windows Parental Controls 由微软控制
451 Unavailable for Legal Reasons/Redirect(因法律原因不可用/重定向)
494 Request Header Too Large(请求标头太大)
495 Cert Error(证书错误)
496 No Cert(没有证书)
497 HTTP to HTTPS ()
498 Token Expired/Invalid(令牌过期/无效)
499 Client Closed Request/Token Required(需要客户端关闭请求/令牌)
5
开头的HTTP
状态码
代表 Server 有异常
500 Internal Server Error(服务器内部错误)服务器遇到了一个未曾预料的状况,导致了它无法完成对请求的处理。一般来说,这个问题都会在服务器端的源代码出现错误时出现
501 Not Implemented(尚未实施)服务器不具备完成请求的功能。 例如,服务器无法识别请求方法时可能会返回此代码。
502 Bad Gateway(错误网关)服务器作为网关或代理,从上游服务器收到无效响应。
503 Service Unavailable(服务不可用)服务器目前无法使用(由于超载或停机维护)。 通常,这只是暂时状态。
504 Gateway timeout(网关超时)服务器作为网关或代理,但是没有及时从上游服务器收到请求。
505 HTTP Version Not Supported(HTTP 版本不受支持) 服务器不支持请求中所用的 HTTP 协议版本。
506 Variant Also Negotiates
507 Insufficient Storage
508 Loop Detected(检测到循环)
509 Bandwidth Limit Exceeded(超出带宽限制)
510 Not Extended(未扩展)
511 Network Authentication Required(需要网络身份验证)
520 Unknown Error(未知错误)
598 Network Read Timeout Error(网络读取超时错误)
599 Network Connect Timeout Error(网络连接超时错误)
Over~
版权协议须知!
本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
1306 0 2019-06-19
博主卡片
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。
现在时间 2024-12-28
今日天气
随机推荐
08-15
zabbix 5.0 配置邮箱告警
01-02
Redis安装及集群安装
04-19
Python 之路字符串(五)
01-30
常用端口
02-12
Linux下安装RabbitMQ及命令操作
站点统计
- 文章总数:241篇
- 分类总数:29个
- 评论总数:12条
- 本站总访问量 353704 次
@xiaozi 最后的分享的镜像下载地址打不开 服务器没有开机吗?
@yuanyuan 为什么我的4b安装centos7.9 插上tf卡 显示不兼...
@Wong arrhenius 牛比
@MakerFace 厉害了!
@TongSir 老哥 更新下我的友链链接 https://blog.ton...