1.get请求
GET 请求不存在请求实体部分,键值对参数放置在 URL 尾部,浏览器把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串追加到url后面,用?分割,加载这个新的url。因此请求头不需要设置 Content-Type 字段
,设置了也不会去使用。
非 ASCII 码会自动进行编码转换,例如发送请求:www.bilibili.com?hehe=你的我的
值得一提的是,GET 参数的编码方式是无法人为干涉的,这导致了不同浏览器有不同的编码方式。
2. POST 请求
Http Header里的Content-Type一般有这三种:
- 1.application/x-www-form-urlencoded:数据被编码为名称/值对。这是标准的编码格式。默认行为。会将表单内的数据转换拼接成 key-value 对(非 ASCII 码进行编码)
- 2.multipart/form-data(一般用来上传文件): 数据被编码为一条消息,页上的每个控件对应消息中的一个部分,必须让 表单的 enctype 等于 multipart/form-data。
- 3.text/plain(接口测试文档里标的是raw): 数据以纯文本形式(text/json/xml/html)进行编码,其中不含任何控件或格式字符(中文不进行编码)。主要有application/json、text/xml等