超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。
当客户端(Client)发送一个请求报文, 服务端(Server)收到后,将会返回一个响应报文.
Http报文包括请求报文和响应报文,下面让我们一探究竟
一, Http报文
Http报文是简单的格式化数据块,每个报文都包含一个来自客户端的请求或者服务端的响应
他有三部分组成:起始行(start line), 首部(header)和主体部分(body)
- 起始行和首部是由行分割的ASCII文本.每行都以一个由两个字符组成的行终止序列作为结束,其中包括一个回车符和换行符
- 主体是一个可选的数据块.与起始行和首部不同的是,主体可以包含文本或二进制数据,也可以为空
- 首部和主体之间有一个空白行
- 首部都包含一个名字,然后跟着一个冒号(:),接着是一个值
起始行(start line)
首部(header)
(首部与主体空白的一行)
主体(body)
二,报文格式
<一>,请求报文
<method> <request-URL> <version>
<headers>
<entity-body>
下面是通过charles截取的一个Http请求报文
是不是和上面的格式一致呢
<二>响应报文格式
<version> <status> <reason-phrase>
<headers>
<entity-body>
下面我们再通过charles截取一个http的响应报文
三,状态码分类
100-199 信息提示
200-299 成功
300-399 重定向
400-499 客户端错误
500-599 服务端错误