常见的http状态码

http状态码是在客户端向服务器端发送请求时,用于说明返回的处理结果,成功或失败,失败的原因。

http状态码由三个数字组成,第一个数字表示类别,后面两个数字只是用来标识某一结果,并无特别的意义。

1XX----------表示正在处理请求,尚未处理结束

2XX----------表示处理成功

3XX----------表示处理时需要浏览器一些附加条件才能成功,多数为重定向

4XX----------表示处理失败且主要原因是客户端的原因

5XX----------表示处理失败且主要原因是服务器端的原因

http状态码有很多,这里列出常见的状态码

100:表示服务端已经收到请求的一部分,要求客户端发送其他部分

101:表示服务端收到客户端修改协议的请求并修改了协议,如客户端发起修改协议为websocket的请求时,服务端就会返回101的响应

200:表示客户端发送的请求被正常处理了。但是正常处理不代表符合预期,在发生跨域的时候返回的状态码也是200,所以无法通过状态码来判断跨域。(跨域问题解决

204:表示客户端发送的请求被正常处理,但响应报文中不含实体的主体部分,可看成是服务器端没有返回资源给客户端,一般在只需要往服务器端发送信息的场合使用,此时的响应报文只起告知响应成功的作用。

206:表示客户端进行了范围请求,而服务器端正确处理了该请求。这种情况下请求报文中会包含Range首部字段,而响应报文中会包含content-Range首部字段,这两个首部字段都指向要返回的指定的实体范围。

301:永久性重定向,表示该客户端请求的资源的URI地址已经被永久性修改了,旧的地址已经被永久删除了,此时服务器端的响应报文会包含location首部字段,location的值为新的URI地址,客户端会再向该URI地址发送请求已得到需要的资源。

302:临时性重定向,表示请求的资源已经被分配了新的URI,不同于301的是旧的地址没有被删除,只是在本次请求中“希望”通过新的地址来访问资源,所以会同样在响应报文中带有location以返回新的URI地址供客户端发送请求。(这里的“希望”关系到搜索引擎如何抓取网址)

303:该状态码表示的结果与302相似,请求的资源存在另一个URI,“希望”在本次请求中访问另一个URI,不同的是,303明确指出要使用Get方法获取资源。

304:该状态码表示请求报文中有附带条件的首部字段,且服务器的资源不满足附带的条件。(有附带条件的首部字段以If开头,不满足条件返回304的首部字段为If-Match,If-Modified-Since,If-None-Match,If-Range,If-Unmodified-Since中任一种)实际上,平时我们常说304就是缓存就是因为不满足If-None-Match或If-Modified-Since,而返回304只会在使用get和head请求时才会返回

400:该状态码表示请求报文中出现语法错误,在HTTP1.1中,如果请求消息中没有Host头域则会报告一个400错误

401:该状态码表示发送的请求需要有通过HTTP认证的认证信息,如果客户端第一次发送请求时返回了401,那么就要使用首部字段Authorization将身份认证的信息发送给服务器端,若认证成功则返回状态码200,否则再次返回401表示认证失败

403:该状态码表示发送的请求被服务器端拒绝了,服务器端可在响应报文中写出拒绝的理由,当然也可不写。可能出现的错误是以http的方式需要ssl连接的网址;在不允许写/创建文件的目录中执行了创建/写文件操作;连接的用户过多,可以过后再试;IP被列入黑名单等等

404:该状态码表示发送的请求对应的资源不存在

405:请求方法(GET,POST,PUT)对资源不适用

412:请求头中一些前提条件不成立,如我们在请求时带上If-Match,而服务器无对应ETag的资源,就会返回412状态码的报文,表示If-Match条件失败,看起来和304类似,不同的地方在于,412只在get和head之外的诸如post,put请求时返回,get和head返回的是304

500:该状态码表示服务器端在执行请求时出现了错误

503:该状态码表示服务器端暂时处于超负载或者停机维护的状态,可以看成服务器端“无暇”处理该请求,服务器端可在响应报文中使用Retry-After首部字段告知客户端何时能再发送请求给服务器端

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值