post与get的区别

post与get的区别

 

 POSTGET
功能性提交数据获取数据
数据传输封装在body体中传输通过在url中添加参数传输
安全性更安全不安全

功能性

post用来提交数据,如客户端往服务器端上传数据

get用来获取数据

 

数据传输

post有url部分,url是唯一标识,通过唯一标识可以往唯一标识路径上添加数据,对数据长度没有限制

把所有的数据放到body体中发送给服务器,服务器对获取的数据进行存储

get通过在url中加参数传输给服务器,服务器根据接收的参数返回相应的内容,对数据长度有限制

 

安全性

post更安全,post把数据放在body体中,数据对于用户来说是不可见的,浏览器也无法记录这部分数据

我们无法再地址栏发送post请求,post请求一般通过form表单,ajax发送给服务器

 

get把数据放在url中,可以通过浏览器的url部分看出用户发送的数据,浏览器有历史记录功能,非常不安全

 

无论通过post还是get请求发送数据,只要数据没有加密,我们还是可以通过第三方抓包工具抓取数据

为保证安全性,敏感信息一般会先加密

 

总结

从三个层面来回答

http报文层:get将请求信息放在url中,请求数据有长度限制,POST将请求数据放在body体中,请求数据无长度限制

数据库层面:GET符合幂等性和安全行,POST不符合

 (幂等性是指对数据库的一次操作和多次操作获取的结果是一致的,安全性是指对数据库中的操作没有改变数据库中的数据)

从其他层面:GET请求可以被缓存、被存储,而POST不行

(get请求会被保存在浏览器的浏览记录中,以get请求的url能够保存为url标签,缓存是get请求被广泛应用的根本,绝大部分的get请求都被cdn缓存了

能大大减少服务器的负担)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值