关于form-data
、x-www-form-urlencoded
、raw
、binary
和GraphQL
这几种数据传输格式的详细说明以及对应的Content-Type
:
form-data
form-data
是一种在HTTP请求中传输表单数据的编码方式,通常用于上传文件或提交包含文件上传字段的表单数据。- 数据被分割成多部分(multipart),每个部分包含一个表单字段或文件数据。
- 每个部分都有一个唯一的边界(boundary)来分隔字段或文件,边界必须在请求头中指定。
- 每部分包含一个头部和数据部分,头部指定数据的类型、名称、文件名等信息。
- 对应的
Content-Type
:multipart/form-data
x-www-form-urlencoded
x-www-form-urlencoded
是一种常见的数据传输格式,适用于传输通过HTML表单提交的数据。- 数据被编码为键值对的形式,使用
key1=value1&key2=value2
的格式。 - 键值对中的特殊字符会被URL编码,例如空格会被替换为
+
,特殊字符会被转义成%XX
的形式。 - 对应的
Content-Type
:application/x-www-form-urlencoded
raw
raw
是一种直接在请求体中传输原始数据的方式,没有特定的编码格式。- 可以使用不同的数据格式,如JSON、XML、纯文本等。
- 数据以原始的格式直接放置在请求体中。
- 需要设置正确的
Content-Type
请求头,指定数据的编码格式。 - 对应的
Content-Type
取决于原始数据的格式,例如:- JSON:
application/json
- XML:
application/xml
- 纯文本:
text/plain
- JSON:
binary
binary
是一种在HTTP请求中直接传输二进制数据的方式,常用于传输任意类型的二进制数据,如图片、音频、视频等。- 二进制数据以原始的形式直接放置在请求体中。
- 需要设置正确的
Content-Type
请求头,指定数据的类型。 - 对应的
Content-Type
取决于传输的二进制数据的类型,例如:- 图片:
image/jpeg
,image/png
, 等等 - 音频:
audio/mpeg
,audio/wav
, 等等 - 视频:
video/mp4
,video/quicktime
, 等等
- 图片:
GraphQL
GraphQL
是一种用于数据查询和操作的查询语言和执行引擎。GraphQL
使用单个HTTP请求来发送查询和变更操作,并以JSON格式返回请求的结果。- 请求的内容以
POST
方法发送到GraphQL
API端点,通常使用application/json
作为Content-Type
请求头。 - 请求体中包含
query
字段用于指定查询或变更操作。 - 对应的
Content-Type
:application/json
这些数据传输格式及其对应的Content-Type
可根据具体的需求和协议来选择和使用。请注意在发送请求时设置正确的Content-Type
请求头,以确保数据能够正确解析和处理。