最近在学习使用fiddler,里面提到的关于http协议是Web工程师一定要了解的,所以最近会分享一些学习经验!

1.1什么是HTTP状态码(HTTP StatusCode)

每个HTTP响应报文都会携带一个状态码,用于告诉客户端是否请求成功。状态码是一个3位数字的代码。

HTTP状态码存在于HTTP响应报文中,作用是Web服务器用来告诉客户端发生了什么事。

HTTP响应报文中的第一行,由HTTP协议版本号,状态端码,状态消息3部分组成。状态码用来告诉HTTP客户端Web服务启是否产生了预期的HTTP响应。

1.2状态码分类

1xx - 5xx

小技巧:加入看到了一个状态码518而不知道具体是啥意思,这时候只要看到518属于5xx(服务器错误)就可以了!

HTTP1.1支持的状态码
分类:
1xx
100-101
信息提示,表示请求已被成功接收,继续处理

2xx
200-206
成功,表示请求已经被成功接收,理解,接受

3xx
300-305
重定向,要求完成,必须进行更进一步的处理

4xx
客户端错误,请求有误或者请求无法实现

5xx
服务启错误,服务器未能实现合法请求

1.3常见的状态码

200:OK ; 服务器成功的处理了请求(最常见的)

204:没有内容;返回的HTTP响应中的只有Header和一个状态行,没有实体的主题内容(没有响应Body)。

206:部分内容;206状态码代表服务器已经成功的处理了部分GET请求(只有发送GET请求方法的HTTP请求,Web服务器才可能返回206)

301/302 :重定向;请求的URL已移走。Response中应该包含一个Location URL,说明资源所处的位置

304:未修改 ;客户的缓存资源是最新的,需要客户端使用缓存

404:为找到资源

401:禁止访问

501:服务器遇到一个错误,使其无法对请求提供服务。

1.3 状态码 206的应用场景

FlashGet,迅雷或者Http下载公工具都是使用206状态码来实现断点续传的。
将一个大文档分解为多个下载段同时下载。如下图:
关于Http状态码

尾声

关于HTTP状态码的简单介绍到这里结束了!

相关文章: