- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HTTP请求中,⼏种常见的Content-Type类型
POST请求的消息主体放在entity body中,服务端根据请求头中的Content-Type字段来获取消息主体的编码
⽅式,进⽽进⾏解析数据。
⼀、application/x-www-form-urlencoded
最常见的 POST 提交数据的⽅式,原⽣Form表单,如果不设置 enctype 属性,默认为application/x-www-
form-urlencoded ⽅式提交数据。
⾸先,Content-Type被指定为 application/x-www-form-urlencoded ;其次,提交的表单数据会转换为键值
对并按照
key1=val1key2=val2 的⽅式进⾏编码,key 和 val 都进⾏了 URL 转码。⼤部分服务端语⾔都对这种⽅式
有很好的⽀持。
另外,如利⽤AJAX 提交数据时,也可使⽤这种⽅式。例如 jQuery ,Content-Type 默认值都是”
application/x-www-form-urlencoded;charset=utf-8”。
⼆、multipart/form-data
另⼀个常见的 POST 数据提交的⽅式, Form 表单的 enctype 设置为multipart/form-data ,它会将表单的数
据处理为⼀条消息,以标签为单元,⽤分隔符(这就是boundary的作⽤)分开,类似我们上⾯Content-
Type中的例⼦。
由于这种⽅式将数据有很多部分,它既可以上传键值对,也可以上传⽂件,甚⾄多个⽂件。当上传的字
段是⽂件时,会有Content-Type 来说明⽂件类型;Content-disposition ,⽤来说明字段的⼀些信息。每部
分都是以 –boundary 开始,紧接着是内容描述信息,然后是回车,最后是字段具体内容(字段、⽂本或
⼆进制等)。如果传输的是⽂件,还要包含⽂件名和⽂件类型信息。消息主体最后以 –
boundary– 标⽰结束。
三、application/json
Content-Type: application/json 作为响应头⽐较常见。实际上,现在越来越多的⼈把它作为请求头,⽤来
告诉服务端消息主体是序列化后的 JSON 字符串,其中⼀个好处就是JSON 格式⽀持⽐键值对复杂得多
的结构化数据。由于 JSON 规范的流⾏,除了低版本 IE 之外的各⼤浏览器都原⽣⽀持JSON.stringify ,服
务端语⾔也都有处理 JSON 的函数,使⽤起来没有困难。
Google 的 AngularJS 中的 Ajax 功能,默认就是提交 JSON 字符串。
四、text/xml
XML的作⽤不⾔⽽喻,⽤于传输和存储数据,它⾮常适合万维⽹传输,提供统⼀的⽅法来描述和交换独
⽴于应⽤程序或供应商的结构化数据,在JSON出现之前是业界⼀⼤标准(当然现在也是),相⽐JSON
的优缺点⼤家有兴趣可以上⽹search。因此,在POST提交数据
时,xml类型也是不可缺少的⼀种,虽然⼀般场景上使⽤JSON可能更轻巧、灵活。
五、binary (application/octet-stream)
在Chrome浏览器的Postman⼯具中,还可以看到”binary“这⼀类型,指的就是⼀些⼆进制⽂件类型。如
application/pdf ,指定了特定⼆进制⽂件的MIME类型。就像对于text⽂件类型若没有特定的⼦类型
(subtype),就使⽤ text/plain。类似的,⼆进制⽂件没有特定或已知的 subtype ,就使⽤
application/octet-stream ,这是应⽤程序⽂件的默认值,⼀般很少直接使⽤ 。
对于application/octet-stream ,只能提交⼆进制,⽽且只能提交⼀个⼆进制,如果提交⽂件的话,只能提
交⼀个⽂件,后台接收参数只能有⼀个,⽽且只能是流(或者字节数组)。
很多web服务器使⽤默认的 application/octet-stream 来发送未知类型。出于⼀些安全原因,对于这些资源
浏览器不允许设置⼀些⾃定义默认操作,导致⽤户必须存储到本地以使⽤。⼀般来说,设置正确的
MIME类型很重要。
您可能关注的文档
最近下载
- 2025江西赣州南康赣商村镇银行招聘4人笔试备考试题及答案解析.docx VIP
- T_CMEAS 030-2024 儿童哮喘标准化门诊建设规范.pdf
- 小学一年级体育教案全册表格式(精品).doc VIP
- 2025年湖南有色金属控股集团有限公司校园招聘模拟试题附带答案详解参考答案.docx VIP
- 摩登家庭台词剧本第一季第一集中英双语左右对照.pdf VIP
- 前厅服务与管理前厅销售课件.pptx VIP
- 货架验收标准.docx VIP
- 2025年湖南有色金属控股集团有限公司校园招聘模拟试题附带答案详解必考题.docx VIP
- 新22N1 供暖工程图集 .docx VIP
- 2025年湖南有色金属控股集团有限公司校园招聘模拟试题附带答案详解附答案.docx VIP
文档评论(0)