Http状态码整理

基本介绍
状态码(Status Code)和原因短语(Reason Phrase)用于简单描述请求的结果 。常见的比如:

  • 200 OK,表示请求成功;
  • 404 Not Found表示请求的资源未找到 。
原因短语(上面的ok 和Not Found)是对状态码的解释说明 。
形如200这样的状态码,这里的3位数字中第1位数字,通常表示响应的类别(会有一两个例外) , 大致可以分成以下几类(完整的状态码表,参见http1.1-RFC6):
状态码含义1xx请求正被处理2xx请求成功处理3xx请求需要附加操作,常见的例子如重定向4xx客户端出错导致请求无法被处理5xx服务端处理出错
(4,5常被用在排查bug时前后端互相甩锅-_-!)下面详细介绍常用的状态码和原因短语
分类
2xx
200 OK
表示请求已经被正常处理,这个比较常见,就不多说了 。
204 NO Content
表示请求成功,但是响应的报文中不含实体主体 。通常用于只需要客户端向服务端发送信息,而不需要接受新信息的情况使用
(这么官方且抽象的描述显然不是我的风格),举例:
现在很常见的一种请求类型option,通常被用来做正式请求的预请求 , 这个请求只需要确认后续的请求能不能通过 , 即只需要一个结果,而不需要返回其他内容,这类请求成功时就会返回204 。
相信大家小时候都经常考试 , 如果拿试题来打个比方,那么:
  • 其他状态码可以比喻为填空题:客户端提问(发请求),服务端给出详细答案(返回实体内容) 。
  • 204可以理解为判断题:客户端提问(发请求),服务端给出判断,对或者错(只要响应头有状态码,不需要实体内容)
206 Partial Content
字面意思:只返回了请求资源的部分 。这种情况必须提到提到一个请求头Range——在http的请求中,这个头部用来表示范围请求,例如:
\’Range\’:byte=5001-10000 // 表示本次要请求资源的5001-10000字节的部分
【Http状态码整理】这种情况下,如果服务器接受范围请求并且成功处理,就会返回206,并且在响应的头部返回
\’Content-Range\’:bytes 5001-10000/10000 // 表示整个资源有10000字节,本次返回的范围为 5001-10000字节
3xx
301 Moved Permanently
字面意思:资源被永久重定向了 。这种情况下响应的头部字段Location中一般还会返回一个地址,用来表示要新地址 。例如:
客户端发起一个请求,要访问a站点,此时收到的响应如下:
301 Moved Permanently

Location:`b.com`

//上述内容表示:亲 , 您请求的资源已经永久转移啦,这边建议您去新的地址b.com访问呢,
以上就是朝夕生活(www.30zx.com)关于“Http状态码整理”的详细内容,希望对大家有所帮助!

猜你喜欢