最近在学习使用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状态码的简单介绍到这里结束了!