HTTP_POST请求的数据格式

HTTP_POST请求的数据格式在HTTP的请求头中,可以使⽤Content-type来指定不同格式的请求信息。
Content-type的类型
常见的媒体格式类型:
text/html : HTML格式
text/plain :纯⽂本格式
text/xml : XML格式
image/gif :gif图⽚格式
image/jpeg :jpg图⽚格式
image/png:png图⽚格式
以applicaton开头的没提类型:
application/json : JSON数据格式 application/xhtml+xml :XHTML格式
application/xml : XML数据格式 application/atom+xml :Atom XML聚合格式
application/pdf :pdf格式 application/javascript :js格式
application/msword : Word⽂档格式 application/octet-stream :
⼆进制流数据(如常见的⽂件下载) application/x-www-form-urlencoded
:form表单默认的数据格式类型,form表单数据被编码为key/value格式发送到服务器。
另外⼀种常见的媒体格式是上传⽂件之时使⽤的:
multipart/form-data : 需要在表单中进⾏⽂件上传时,就需要使⽤该格式。
除了原⽣的content-type,开发⼈员也可以完全⾃定义数据提交格式!
最常⽤的四种:
1. application/x-www-form-urlencoded,form表单默认的数据格式,提交的数据按照
key1=val1&key2=val2 的⽅式进⾏编码,key 和 val 都进⾏了 URL
转码。⼤部分服务端语⾔都对这种⽅式有很好的⽀持。⽐如下⾯的http请求格式:
# Request Headers
POST /adduser HTTP/1.1
Host: localhost:8030
Connection: keep-alive
Content-Length:16
Pragma: no-cache
Cache-Control: no-cache
Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent: Mozilla/5.0(Windows NT 6.1; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36 Content-Type: application/x-www-form-urlencoded
Accept:*/*
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
# Form Data
name=name&age=11
2. application/json,现在越来越多的⼈把它作为请求头,⽤来告诉服务端消息主体是序列化后的 JSON字符串。服务端语⾔也有很多
函数去解析JSON,使⽤JSON可以⽀持更加复杂的结构化数据。⽐如下⾯的http请求格式:
# Request Headers
POST /adduser HTTP/1.1
Host: localhost:8030
Connection: keep-alive
Content-Length:24
Pragma: no-cache
Cache-Control: no-cache
Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
User-Agent: Mozilla/5.0(Windows NT 6.1; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
Content-Type: application/json
Accept:*/*
Accept-Encoding: gzip, deflate, br
真空脱脂烧结炉
Accept-Language: zh-CN,zh;q=0.9
# Request Payload
{"name":"121","age":121}csilv
3. multipart/form-data,对⽤于在表单中上传⽂件时,也可以上传普通数据,只需要让from的ectyle等于multipart/form-data就可
以了。⽐如下⾯的http请求格式:
# Request Header
POST /adduser HTTP/1.1
iscr-006Host: localhost:8030
Connection: keep-alive
Content-Length:232
Pragma: no-cache
Cache-Control: no-cache
Origin: chrome-extension://fdmmgilgnpjigdojojpjoooidkmcomcm
增大药剂User-Agent: Mozilla/5.0(Windows NT 6.1; Win64; x64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryBRi81vNtMyBL97Rb
Accept:*/*
Accept-Encoding: gzip, deflate, br
接地变Accept-Language: zh-CN,zh;q=0.9
# Request Payload
------WebKitFormBoundaryBRi81vNtMyBL97Rb
Content-Disposition: form-data; name="name"
name1
------WebKitFormBoundaryBRi81vNtMyBL97Rb
Content-Disposition: form-data; name="age"
12
------WebKitFormBoundaryBRi81vNtMyBL97Rb--
这种格式的数据会有⼀个边界线boundary(这⾥就是------WebKitFormBoundaryBRi81vNtMyBL97Rb)⽤于分割不同的字段,为了避免与正⽂内容重复,boundary很长很复杂。消息主体以boundary开始,紧接着就是内容描述信息,然后是回车,最后是字段具体的内容(⽂本或⼆进制)。如果传输的是⽂件,还要包含⽂件名和⽂件类型信息。消息主体以boundary结束。
4. text/xml
它是⼀种使⽤ HTTP 作为传输协议,XML 作为编码⽅式的远程调⽤规范。典型的 XML-RPC 请求是这样的:
POST ample HTTP/1.1
Content-Type: text/xml
铜管焊接
<?xml version="1.0"?>
<methodCall>
<methodName&StateName</methodName> <params>
<param>
<value><i4>41</i4></value>
</param>
</params>
</methodCall>

本文发布于:2024-09-22 10:04:13,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/159171.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:格式   数据   消息   主体   表单   服务端   请求   数据格式
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议