一些常见的Content-Type属性
最常见的 POST
上传数据方式,浏览器原生表单如果不设置 enctype
就会以此种方式提交数据,需要上传的数据会以 key=value
的格式进行编码,随后进行 url
转码。
1 2 3 4
| POST http://www.example.com HTTP/1.1 Content-Type: application/x-www-form-urlencoded;charset=utf-8
title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3
|
在使用 Ajax
提交数据是,也是使用这种方式。
进行文件上传时,必须将表单 enctype
设为此值。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| 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--
|
application/json
用于传递 JSON
数据,表名传递的数据是序列化后的 JSON
字符串
1 2 3 4
| 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
远程过程调用
1 2 3 4 5 6 7 8 9 10 11 12
| POST http://www.example.com HTTP/1.1 Content-Type: text/xml
<?xml version="1.0"?> <methodCall> <methodName>examples.getStateName</methodName> <params> <param> <value><i4>41</i4></value> </param> </params> </methodCall>
|