HTTP协议特性
- 基于TCP/IP协议
- HTTP协议是基于TCP/IP协议之上的应用层协议
- 基于请求响应模式
- 必须是客户端发送请求,服务器才能响应,服务器不能自主发送,即肯定是客户端开始简历通信
- 无状态保存
- HTTP不会对客户端和服务器之间的通信状态进行保存
- 短链接和长链接
HTTP请求协议格式
客户端向服务器发送一个请求消息,是由固定格式的,必须以这样的格式发送,服务器才能解析
包括:
- 请求行
- 请求头部
- 空行
- 请求数据
请求行
请求行是由请求方法、URL和协议版本这三部分组成,通过空格分割
请求头部
主要是允许客户端向服务器通过HTTP 请求传递一些附加信息
HTTP请求头通常由一个标头字段和一个相应的值组成,它们以冒号分隔
空行
\r\n
用于分割请求数据和请求头,如果没有空行,则代表没有请求数据
post有请求数据,get没有请求数据,参数都封装在url里面
请求数据
Request Body
与请求数据相关的最常使用的请求头是Content-Type和Content-Length
根据Content-Type来决定是什么格式的数据
服务器先根据Content-Type来知道是什么格式的数据,来反序列化这个数据