http协议的一般格式如下
Header存放的数据大致有以下几种:
- Host:服务器主机地址
- Cookie:携带本地cookie给服务器
- Connection:控制长连接,短连接
- Cache-Control:缓存使用方式
- Expired:请求体过期时间
Body存放的数据有:
- 加密不会显示在url中的请求参数
- 上传的附件
- 字符串
- 字节集
GET请求没有请求体
POST按照不同用途,有多种请求体格式
PUT,PATCH,DELETE等请求,报文和POST格式一致,只是功能定位不同
下面统一以POST来说明请求体/表单的格式
Form表单有以下几种格式:
- 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
--------------------------------------------------