HTTP请求中,几种常见的Content-Type类型.pdfVIP

HTTP请求中,几种常见的Content-Type类型.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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类型很重要。

文档评论(0)

134****3224 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档