HTTP 状态码

HTTP 状态码

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

 类型说明
1XXInformational (信息性状态码)接收的请求正在处理
2XXSuccess (成功状态码)请求正常处理
3XXRedirection(重定向状态码)需要进行附加操作以完成请求
4XXClient Error (客户端错误状态码)服务器无法处理请求
5XXServer Error (服务器错误状态码)服务器处理请求出错

一些常用的状态码和说明 :

状态码说明
200客户端发送的请求在服务端被正常处理了
204服务器接收的请求已被成功处理,但在返回的相应报文中不含实体的主体部分。另外也不允许返回任何实体的主体。<br> 比如,当浏览器发送请求后,返回204响应,那么浏览器显示的页面不发生更新。(这个状态码我几乎没有使用过)
206表示客户端进行了范围请求,而服务器成功执行了的 GET 请求,响应报文中包含 Content-Range 指定范围的实体内容。一般断点下载的业务会经常遇到,比如下载一个文件,下到一半,突然断网,下次下载希望从上次停下的地方继续下载。
301(Permanently Moved)永久性重定向,该状态码表示请求的资源已被分配了新的 URI,以后应使用资源现在所指的 URI 。
302 (Temporarily Moved)临时性重定向。资源的 URI 已临时定位到其他位置了。
303 (See Other)和 302 类似 ,临时性重定向,但是明确表示客户端应当采用 Get 方法获取资源。
304 (Not Modified)服务端资源未发生改变,可直接使用客户端未过期的缓存。304 状态码返回时,不包含任何响应的主体部分。304虽然被划分在 3XX 类别中,但是和重定向没区别。
307 (Temporary Redirect)临时重定向, 该状态码含义和 302 相似。尽管 302 状态码明确禁止 Post 改成 Get ,但实际上大家并不遵守。
307 会遵照浏览器标准,不会从 Post 改成 Get.但是对于处理响应时的行为,每种浏览器有可能出现不同的情况。
400 (Bad Request)该状态码表示请求报文中存在语法错误。当错误发生时,需修改请求的内容后再次发送请求。
401 (Unauthorized)该状态码表示发送的请求需要有通过 HTTP 认证(BASIC 认证、DIGEST 认证) 的认证信息。另外,若之前已进行过 1 次请求,则表示用户认证失败。(这个状态码我几乎也没有用过)
403 (Forbidden)该状态码表示对请求资源的访问被服务器拒绝了。服务端没有必要给出拒绝的详细理由,但如果想作说明的话,可以在实体的主体部分对原因进行描述,这样用户就能看到了。
404 (Not Found)该状态码表示服务器上无法找到请求的资源。除此之外,也可以在服务器拒绝请求且不想说明理由时使用。
405 (Method Not Allowed)表明服务器禁止了使用当前 HTTP 方法的请求。
500 (Internal Server Error)服务器端在执行请求时发生了错误。也有可能是 Web 应用存在的 bug 或某些临时的故障。
502 ( Bad Gateway )它表示作为网关或代理角色的服务器,从上游服务器(如tomcat、php-fpm)中接收到的响应是无效的。举个例子,例如 Nginx 配置当访问 www.hi-cat.cn 的时候,映射到本机 8080 端口。结果我的 Tomcat 挂掉了。
503 (Service unavailable)服务器暂时处于超负载或正在进行停机维护,现在无法处理请求。

理论情况 : 301、302 明禁止将 Post 方法改变成 Get你方法。
实际情况 : 当 301、302、303状态码返回时候,几乎所有的浏览器在客户端所发出的 Post 方法会被改为 Get 方法,并且删除请求报文内的主体,之后请求会自动再次发送。因此有了了 307 状态码,不修改请求方法。
要注意一点,能否成功重定向, 还要看客户端是否启用重定向。


206

对于只需要获取部分资源的范围请求,包含请求头首部字段 Range 即可告知服务器资源的指定范围。下面的示例请求获取从第 5001 字节至第 10000 字节的资源。

Range: bytes=5001-10000

接收到附带 Range 字请求头字段的服务器,会在处理请求之后返回状态码为 206 Partial Content 的响应。如果服务器无法处理该范围的请求,则会返回状态码 200 OK 的响应以及全部资源。如果支持该范围请求,则在响应时使用首部字段 Content-Range ,能告知客户端作为响应返回的实体的哪个部分符合范围请求。字段值以字节为单位,表示当前发送部分及整个实体大小。

Content-Range: bytes 5001-10000/10000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值