http协议一般格式 注意,这里是一般格式,为了方便快速了解做了一个简化,实际不同的post方式,数据格式是有区别的,下面有讲到
Header存放数据
- Host:服务器主机地址
- Cookie:携带本地cookie给服务器
- Connection:控制长连接,短连接
- Cache-Control:缓存使用方式
- Expired:请求体过期时间
Body存放数据
- 加密不会显示在url中的请求参数
- 上传的附件
- 字符串
- 字节集
不同请求方式的区别
- GET请求没有请求体
- POST按照不同用途,有多种请求体格式
- PUT,PATCH,DELETE请求方式的报文和POST一致,只是功能定位不同
- 下面统一以POST来说明请求体/表单的格式
不同POST方式的区别
- x-www-form-urlencoded:最常见的情景,只有参数,没有附件
--------------------------------------------------
key1=value1 & key2=value2 & key3=value3
--------------------------------------------------
- form-data:可以携带附件,适合上传文件的情景
--------------------------------------------------
value1
name="key1"
--------------------------------------------------
value2
name="key2"
--------------------------------------------------
name="file1"; filename="filename1"
xxxxxxxxxxxxxxxxxx(file1的字节内容)
--------------------------------------------------
name="file2"; filename="filename2"
xxxxxxxxxxxxxxxxxx(file2的字节内容)
--------------------------------------------------
- raw:直接传字符串,不经过任何封装,服务端直接接收原样的字符串
--------------------------------------------------
{"key1":"value1", "key2":"value2"}
--------------------------------------------------
- binary:直接传二进制数据,可以是文件,也可以是若干数据通过代码拼接成的字节集,服务端直接接收原样的字节集
--------------------------------------------------
0000101011010101010100110
--------------------------------------------------