通过抓包可以看到,在 request headers 中有一个 content-tpye 的字段,这个字段表示了 post 发送数据的类型,一般分为以下 4 种类型。
(1)Content-Type: application/json
实际上,现在越来越多的人把 application/json 作为请求头,用来告诉服务器端消息主体是序列化后的 JSON 字符串。由于 JSON 规范的流行,除了低版本 IE 之外的各大浏览器都原生支持 JSON.stringify,服务端器语言也都有处理 JSON 的函数,并且 JSON 格式支持比键值对更加复杂的结构化数据。
(2)Content-Type: application/x-www-form-urlencoded
这是最常见的 POST 提交数据的方式,浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。提交的数据按照 key1=value1&key2=value2 的方式进行编码,key 和 value 都进行了 URL 转码,然后打包发送到服务器。
(3)Content-Type: multipart/form-data
Content-Type 为 multipart/form-data 方式,主要用于上传文件。需要注意的是同时 form 的 enctype 属性也要设置为 multipart/form-data,才能正确提交并解析所传输的数据。
(4)Content-Type: text/xml
它是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。考虑到 XML 结构还是过于臃肿,一般场景用 JSON 会更灵活方便,所以这种提交方式在我们的工作中实际使用的不多,仅了解一下就可以了。
关于包头设置的Content-Type
最新推荐文章于 2020-12-12 12:32:37 发布