Http Header里的Content-Type一般有这三种:
application/x-www-form-urlencoded:数据被编码为键值对,标准的编码格式。form表单原生支持的提交方式
get请求时:浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串追加到url后面,用?分割,加载这个新的url。
post请求时:浏览器把form数据封装到http body中,然后发送到server。
multipart/form-data:浏览器原生支持的提交方式,主要用于上传文件,可以包含文本、图片等不同类型的数据。
application/json
application/json 这个 Content-Type 作为响应头大家肯定不陌生。实际上,现在越来越多的人把它作为请求头,用来告诉服务端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端语言也都有处理 JSON 的函数,使用 JSON 不会遇上什么麻烦。
这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口。各大抓包工具如 Chrome 自带的开发者工具、Firebug、Fiddler,都会以树形结构展示 JSON 数据,非常友好。