HTTP请求数据通常由请求头(Request Headers)和请求正文(Request Body)两部分组成
请求头传参(Request Headers)
- 请求头部参数(Request Header Parameters):这是包含在请求头中的键值对,通常用于传递身份验证信息、请求格式等元数据。
例如:Authorization: Bearer {token}。 - Cookie 参数(Cookie Parameters):这是存储在浏览器中的键值对,通常用于跟踪用户会话状态和存储用户首选项等信息。
例如:cookie_name=cookie_value。
请求正文传参(Request Body)
- 查询参数(Query string parameters):这是在 URL 中传递的键值对,通常用于筛选、排序和分页等操作。将参数追加到URL末尾的方式,并通过问号(?)与URL路径部分进行分隔。 例如:example.com/api/product…
- 请求体参数(Request Body Parameters):是HTTP请求中承载数据的部分,通常用于向服务器传递结构化的数据。请求正文可以采用多种不同的Content-Typ格式,下面介绍几种常见的请求正文格式和它们的特点:
1. application/x-www-form-urlencoded
在这种格式下,请求正文是一个以"&"符号分隔的键值对(key-value pairs),每个键值对中使用"="符号将键名和键值连接起来。例如,以下是一个使用application/x-www-form-urlencoded格式的POST请求的示例:
POST /login HTTP/1.1
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
username=johndoe&password=letmein
2. multipart/form-data
在这种格式下,请求正文被分为多个部分,每个部分与其他部分之间使用boundary字符串进行分隔。每个部分包含三个元素:Content-Disposition、Content-Type和数据。例如,以下是一个使用multipart/form-data格式的POST请求的示例:
POST /upload HTTP/1.1
Host: www.example.com
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="username"
johndoe
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="file"; filename="example.jpg"
Content-Type: image/jpeg
<binary data>
------WebKitFormBoundary7MA4YWxkTrZu0gW--
3. application/json
在这种格式下,请求正文是一个JSON字符串,可以包含各种类型的数据结构。例如,以下是一个使用application/json格式的POST请求的示例:
POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"name": "John Doe",
"email": "johndoe@example.com",
"age": 30
}
4. text/plain
在这种格式下,请求正文是一个纯文本字符串,通常用于发送简单的键值对数据。例如,以下是一个使用text/plain格式的POST请求的示例:
POST /guestbook HTTP/1.1
Host: www.example.com
Content-Type: text/plain
username=johndoe&message=Hello+World
- 路径参数(Path Parameters):这是从 URL 中提取的变量,通常用于标识资源的唯一性或区分不同类型的资源。
例如:example.com/api/users/{…
Chrome中Payload的显示
如果常用chrome的人会发现network中会出现payload面板,里面会出现Query String Parameters、Form Data和Request Poyload格式,它们是请求中承载数据的方式。
chrome中payload指数据载入部分
在axios中params的数据是Query String Parameters,data的数据是Request Poyload,content-type设置为'multipart/form-data'是Form
额外概念
请求负载(request payload):HTTP请求中承载数据的部分,包含了整个HTTP请求中的所有数据内容,包括请求头、查询字符串参数、请求正文等。请求负载的具体格式取决于请求的方法和请求头中的Content-Type值。
请求正文(request body):是HTTP请求中的一个组成部分,用于承载提交到服务器的数据。请求正文可以采用多种不同的格式,例如application/x-www-form-urlencoded、multipart/form-data、application/json等。请求正文通常出现在POST、PUT等请求方法中的请求主体中。
请求正文是请求负载中的一个组成部分,而请求负载则是整个HTTP请求中的数据负载。请求负载是根据HTTP协议规定的请求格式进行构造和解析的,包含了HTTP请求中所有的数据内容。