get请求和post请求的区别

最近笔试有问到这方面的知识,之前一直没有认真总结过,这次来总结一下。
首先看一下请求的格式
request请求
请求行:定义请求方法(比如get、post),请求路径,以及协议(比如HTTP1.0)
请求头:放一些请求参数
请求体:一般请求体只在post请求中用到

区别

1.数据传递:最简单来说,get请求是从服务器获取资源,get请求可以传参数在url上直接表名内容,然后去服务器匹配相应的资源。post请求(倾向于创建和更新)一般作为发送数据到后台时使用。
2.参数传递:get请求参数放在url中(结合浏览器有长度限制),post请求参数放在请求体中,不会在url中显示,无长度限制。
2.幂等性:get请求是幂等的(多少次请求结果都一样),post请求不是(每次请求的结果可能不一样)
3.缓存:get请求是可以被浏览器缓存的(比如说加个收藏或者书签等),post不会。
4.编码: 在url上使用中文字符需要编码 url使用百分号编码。
get请求只能进行url编码application/x-www-form-urlencoded,而post(本来就是传数据的)支持多种编码方式,如 url编码、application/json(对象)、multipart/form-data(文件)。
以上就是一些主要区别了,其次关于get请求和post请求安全的问题,如果从数据库角度来讲的话,get请求是不会对服务端数据进行改变的(post请求会改变服务端数据),这是一方面的安全。但是从信息方面,比如get请求的参数直接体现在url上,这也是不安全的,post请求参数在请求体,如果不使用HTTPS协议也是不安全的。关于安全的问题,欢迎大家指导…

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值