HTTP 常见状态码

这是个挺常见的问题,一般碰到什么码没见过直接搜就行。

总共有五类:

  • 1xx:第一类提示信息:表示目前是协议处理的中间状态,还需要后续的操作;
    例如:POST发送的第一个包就是等服务器返回1xx响应表示POST可以继续发送数据。

  • 2xx:成功,报文已经收到且处理掉了
    [200 OK]: 最想看到的就是这个,表示一切正常。
    [204 NO Content]: 响应时没有body数据。
    [206 Partial Content]:说明此时 HTTP是分块下载或断点续传,表示响应返回的body数据并不是资源的全部。

  • 3xx: 资源重定向
    [301 Moved Permanentl] :永久重定向,说明请求的资源已经不在了,客户端需要用新的URL去访问。
    [302 FOUND]:对比301,它是临时重定向,说明请求的资源还在,但暂时需要⽤另⼀个 URL 来访问。
    对于301和302都会在响应头里用字段Location指明后续要跳转的URL,浏览器会自动重定向新的URL。
    [304 Not Modified]: 不具有跳转的含义,表示资源未修改,重定向已存在的缓冲⽂件,也称缓存重定向,⽤于缓存控制。

304上次缓存的资源没有改变------浏览器如何知道是否直接接取缓存的内容?
需要判断请求头 响应头
请求头字段:
if-None-Match : 匹配etag 如果它修改了, 不取缓存
if-Modified-Since : 将先前服务器端发过来的最后修改时间戳发送回去
响应头字段:
etag :标记图片资源
last-Modified:(服务器最后修改的时间) 和 etag配合使用
etag和if-Node-Match的工作原理是在HTTP Response中添加Etags信息,当客户端再次请求该资源时,将在HTTP Request中加入if-None-Match信息(Etags的值)。如果服务器验证资源的etag没有改变,将返回一个304状态,否则,服务器将返回200状态,并返回该资源和新的Etags。

  • 4xx:表示客户端发送的报⽂有误,服务器⽆法处理,也就是错误码的含义。
    「400 Bad Request」表示客户端请求的报⽂有错误,但只是个笼统的错误。
    「403 Forbidden」表示服务器禁⽌访问资源,并不是客户端的请求出错。
    「404 Not Found」表示请求的资源在服务器上不存在或未找到,所以⽆法提供给客户端。经常看到的就是这个。

  • 5xx:与4xx对比,这是服务器自身的错误。
    「500 Internal Server Error」与 400 类型,是个笼统通⽤的错误码,服务器发⽣了什么错误,我们并不知道。
    「501 Not Implemented」表示客户端请求的功能还不⽀持,类似“即将开业,敬请期待”的意思。
    「502 Bad Gateway」通常是服务器作为⽹关或代理时返回的错误码,表示服务器⾃身⼯作正常,访问后端服务器发⽣了错误。
    「503 Service Unavailable」表示服务器当前很忙,暂时⽆法响应服务器,类似“⽹络服务正忙,请稍后重试”的意思。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值