get和post关于请求头中的Content-Type理解

编程知识 更新时间:2023-04-05 05:17:30

1.get请求

GET 请求不存在请求实体部分,键值对参数放置在 URL 尾部,浏览器把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串追加到url后面,用?分割,加载这个新的url。因此请求头不需要设置 Content-Type 字段,设置了也不会去使用。

非 ASCII 码会自动进行编码转换,例如发送请求:www.bilibili?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等
 - application/json 使用application/json 这个 Content-Type
   作为响应头,用来告诉服务端消息主体是序列化后的 JSON 字符串。这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful
   的接口。
 - text/xml 使用 text/xml 这个 Content-Type 作为响应头。

3、@RequestBody和 @RequestParam不能用在同一个参数上

因为RequestBody 是获取 body里json数据,requestParam 是获取拼在url后头的参数

参考原文地址
https://blog.csdn/qq_22339269/article/details/103504879
https://blog.csdn/weixin_37909391/article/details/81218740

更多推荐

get和post关于请求头中的Content-Type理解

本文发布于:2023-04-05 05:17:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/3b175d57c7f228ab34436f96bce2102a.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:post   Content   Type

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 44966文章数
  • 14阅读数
  • 0评论数