post 请求,一般在提交表单,上传文件/图片等操作都适用。可以前并没有特别注意到这块。今天整理一下。
1. 默认post数据类型 -- Content-Type: application/x-www-form-urlencoded
这个类型是我们使用ajax请求或者 curl 等工具的默认post数据类型。
除非使用curl -H 'Content-Type:application/json'等方式声明类型。
浏览器的原生 form 表单,如果不设置 enctype 属性,那么最终就会以 application/x-www-form-urlencoded 方式提交数据。
2. Content-Type: application/json
这个类型一般用来发送json类型的数据。比如 {"title":"test","sub":[1,2,3]}
3. Content-Type: multipart/form-data
此类型一般用来发送文件/图片
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary8tQiXReYsQYXHadW
这里的boundary 是用来分割提交数据的,这个字段要足够随机不能在提交数据中出现。
4. Content-Type: text/xml
一看就知道,这个post发送的data 是xml格式