持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情
1、常见的内容类型-Connect-Type
内容类型(Connect-Type)是请求头或者响应头中对请求或者响应数据格式的声明,一般有请求或者响应数据时,请求头或者响应头中会指定响应的内容类型。 常见内容类型: text/plain:纯文本格式 text/html:HTML文本格式 text/xml:XML文本格式 image/jpeg:JPEG图片格式 application/xml:XML应用格式 application/json:JSON应用格式 application/x-www-form-urlencoded:纯文本Form表单经URL编码格式 application/pdf:PDF格式 application/msword:Word格式 application/octet-stream:二进制流数据格式 multipart/form-data:复合表单格式,纯文本变量数据与二进制文件数据格式混合格式
其中纯文本表单application/x-www-form-urlencoded会将数据经URL编码后发送,text/plain、 text/html、text/xml、application/xml、application/json会以原始(Raw)格式发送,image/jpeg、application/pdf、application/msword、application/octet-stream会以二进制格式发送,而混合表单multipart/form-data会以文本和二进制数据混合格式发送。
2、请求数据-Request Body
请求数据为请求中发送给服务端的正式数据,长度没有限制,也可以为空,常有的有表单格式,复合表单、原始格式和二进制四种格式。
表单格式,对应Content-Type: application/x-www-form-urlencoded。表单,即网页上由输入框,单选框,复选框,下拉框,提交按钮等组成的,用来收集用户信息的页面. 当表单不涉及上传文件时,一般将收集到的信息经过URL编码后传输. 如,在登录页面上输入用户名: 张三,密码:123456后,请求数据经URL编码组装为以下格式(非ASCII码将会进行响应的转化)。
name=%E5%BC%A0%E4%B8%89&password=123456
复合表单格式,对应Content-Type: multipart/form-data。当表单中包含上传的文件时,一般使用复合表单格式,将文本格式的变量值即上传的文件的二进制格式组成多个部分作为请求数据传输。
原始格式,对应Content-Type: text/plain、text/html、text/xml、application/json,application/xml等。前两种格式对原始数据进行了重新编码和组装,使用原始格式发送数据时,数据将使用数据的原始格式发送。在使用不同的数据格式时通用要在请求头中指定使用的内容类型(Content-Type)。
如发送JSON格式的数据,Content-Type: application/json。 {
"name": "张三",
"age": "12"
}
XML格式的数据,Content-Type: application/xml
Hello,张三
二进制格式,对应Content-Type: application/octet-stream,主要用于流式上传文件。