四种常见的提交数据方式对应的content-type取值

参考 四种常见的 POST 提交数据方式对应的content-type取值

application/x-www-form-urlencoded 浏览器原生支持

提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码。大部分服务端语言都对这种方式有很好的支持。

multipart/form-data 浏览器原生支持

POST http://www.example.com HTTP/1.1
Content-Type:multipart/form-data;
boundary=----WebKitFormBoundaryrGKCBY7qhFd3TrwA

------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name=“text”

title
------WebKitFormBoundaryrGKCBY7qhFd3TrwA Content-Disposition: form-data; name=“file”; filename=“chrome.png” Content-Type: image/png

PNG … content of chrome.png …
------WebKitFormBoundaryrGKCBY7qhFd3TrwA–

该种数据传输类型可以传输多种类型的文件,上述例子中同时上传了 string 和 png类型的数据。

这种方式一般用来上传文件,各大服务端语言对它也有着良好的支持。
每种数据以boundary分开
数据结束后以**–boundary–**结尾。

application/json 常用

用来告诉服务端消息主体是序列化后的 JSON 字符串
传输的数据类型是json类型数据,但是必须用JSON.stringfy()把json数据字符串化才能传输。

var data = {‘title’:‘test’, ‘sub’ : [1,2,3]}; $http.post(url,
data).success(function(result) {
… }); 最终发送的请求是:

POST http://www.example.com HTTP/1.1 Content-Type:
application/json;charset=utf-8

{“title”:“test”,“sub”:[1,2,3]}

text/xml 我很少用到

在此不过多描述,插入参考文章中的描述如下:

XML-RPC(XML Remote Procedure Call)。它是一种使用 HTTP 作为传输协议,XML
作为编码方式的远程调用规范。典型的 XML-RPC 请求是这样的:

POST http://www.example.com HTTP/1.1
Content-Type: text/xml

examples.getStateName 41 XML-RPC 协议简单、功能够用,各种语言的实现都有。它的使用也很广泛,如 WordPress 的 XML-RPC Api,搜索引擎的 ping 服务等等。JavaScript中,也有现成的库支持以这种方式进行数据交互,能很好的支持已有的 XML-RPC 服务。不过,我个人觉得 XML 结构还是过于臃肿,一般场景用 JSON 会更灵活方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值