application/x-www-form-urlencoded和application/json

application/x-www-form-urlencoded和application/json区别:

Post和Get请求

共同点:
  • 本质上都是TCP连接
区别:
  • 由于GET请求是直接把请求参数拼接到url上,浏览器往往会对url长度进行限制,所以会对请求参数的大小有所限制,而POST请求是吧请求参数放到body中,因此大小没有请求
  • GET请求会被浏览器主动cache,而POST不会,除非手动设置。
  • 由于GET请求的参数会明文显示在url上,post不会,所以Post参数传输更安全
  • GET产生一个TCP数据包,浏览器会把http header和data一并发送出去;POST产生两个TCP数据包,浏览器先发送header,服务器响应100 continue,浏览器再发送data
  • 对参数的数据类型,GET只接受ASCII字符,而POST没有限制
  • GET请求只能进行url编码,而POST支持多种编码方式

application/x-www-form-urlencoded和application/json

区别:
  • application/json的数据格式:json字符串,application/x-www-form-urlencoded的数据格式:键值对:key-value
  • application/json数据放在body中,application/x-www-form-urlencoded都可以
表单提交时,请求头设置为application/x-www-form-urlencoded,POST和GET的区别
  • GET:浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2…),然后把这个字串append到url后面,用?分割,加载这个新的url
  • POST:浏览器把form数据封装到http body中,然后发送到server
springmvc对application/x-www-form-urlencoded和application/json的处理
  • application/x-www-form-urlencoded:get 方式中queryString的值,和post方式中 body data的值都会被Servlet接受到并转化到Request.getParameter()参数集中,所以@RequestParam可以获取的到。

  • application/json:必须用接受@RequestBody,因为GET请求没有body,所以无法接受,只能使用post

  • (1)前段application/x-www-form-urlencoded方式请求,后台直接从RequestParam中获取

在这里插入图片描述

  • (2)前段application/json方式请求,后台直接从RequestBody中获取
    在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值