第4章 HTTP状态码

1. 状态码概述

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

只要遵循状态码类别的定义,即使改变RFC2616中定义的状态码,或服务器端自行创建状态码都没问题

仅记录在RFC2616的状态码就有40种,加上WebDAV(Web-based Distributed Authoring and Versioning)和附加HTTP状态码等扩展,数量高达60+,但常用的大概只有如下14种。


2. 2XX 成功

codereason-phrasedescription
200OK请求被正常处理
204No Content请求已成功处理,但返回的响应报文中不包含实体主体部分
206Partial Content客户端进行范围请求,服务器成功执行这部分的GET请求

3. 3XX 重定向

codereason-phrasedescription
301Moved Permanently永久性重定向 表示请求的资源已被分配了新的URI
302Found临时性重定向 表示请求的资源被临时分配到了新的URI
303See Other与302类似 但303明确表示客户端应采用GET方法获取资源
304Not Modified客户端发送附带条件的请求 但因不满足条件 直接返回304 不包含响应主体
307Temporary Redirect临时重定向 不会从POST变为GET

注:304虽然被划分到3XX类别里,但和重定向没有关系

       附带条件的请求是指采用GET方法的请求报文中包含If-Match, If-Modified-Since, If-None-Match, If-Range, If-Unmodified-Since中任一首部


4. 4XX 客户端错误

codereason-phrasedescription
400Bad Request表示错误产生在客户端 请求报文中存在语法错误
401Unauthorized表示发送的请求需要通过HTTP认证/用户认证失败
403Forbidden表示对请求资源的访问被服务器拒绝了 服务器可选择给出拒绝原因
404Not Found表示服务器上未找到请求的资源 也可以在服务器拒绝请求且不想给出原因时使用

5. 5XX 服务器错误

codereason-phrasedescription
500Server Internal Error表明服务器在执行请求时发生了错误 存在bug或临时故障
503Service Unavailable

表明服务器暂时处于超负载/正在进行停机维护 现在无法处理请求

补充:返回503状态码时,如果事先得知恢复服务时间 最好写入Retry-After首部字段返回给客户端

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值