GET与POST的区别

网络基础——GET请求与POST请求的区别

前言:

       一般来说,GET请求是获取数据,POST请求是提交数据的。如下,主要是出自w3school官网总结,加上本人的一点提炼。

不同点GETPOST分析备注
幂等性幂等,是无害的不幂等幂等性,可以理解为,多次重复发送同一请求,结果是一样的。
缓存能被缓存不能被缓存对请求的数据做缓存:1、缓存在浏览器,直接获取数据,无需发送请求;2、缓存在代理(nginx),请求发到代理,由代理提供数据,减轻服务器压力;3、缓存在服务端,减少解析数据的带宽消耗,类似zero-copy给客户端。
安全性相对更低相对高一点

1、首先,http中的get、post的安全性都不高,因为http协议是明文传输的,想要提高安全性,必须采用加密的https;

2、GET传输数据的时候是在URL地址中的、对所有人都是是可见的,且是有浏览器缓存记录的;而post传输的时候是放在HTTP的请求体之中,并且是经过urlencode编码的。因此相对更安全。

传输效率相对更快相对更慢

1、get是在三次握手后,直接发请求,返回响应数据;

2、post是分请求header和body的,服务器解析heade和body都是需要消耗资源的,但有些请求是无效的,所以服务器会有些策略,让浏览器先发header,然后解析header,判断允许不允许浏览器继续发body(100continue),然后浏览器再次发body,最后浏览器得到想要的响应数据。因此,等于是post多了一个通讯的来回,当然更耗时。

数据长度、类型的限制GET往URL添加数据时,长度限制是2048个字符;get请求只允许ASCII码值长度没有限制;类型也没有限制其实,get请求中的URL如果带有非ASCII码数据,发请求前会转成ASCII码
编码格式application/x-www-form-urlencodedapplication/x-www-form-urlencoded等多重编码格式在抓包时,也要关注content-type
历史记录参数保留在浏览器的历史记录中参数不会保留在浏览器的历史记录参照安全性的不同
可见性请求数据显示在URL中,所有可见请求数据在BODY中,不可见参照安全性的不同

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值