大白话https原理

 疑问:为什么http协议在传输过程中不安全?


因为浏览器的请求有可能被第三方拦截,假如你请求中有账号密码就会被他人获取,也许你会说前端可以对账号密码加密就不怕了,那你想想就算你加密了,他人还不是可以利用你加密好的账号密码进行和服务器通信


疑问:为什么https协议可以保证传输安全?


说到https,这里得先说说https是什么。


https其实也是http协议,只不过是他的端口是443,且具有非对称加密的功能


非对称加密简单说就是一对公钥与私钥,公钥对其加密只有对应的私钥才能解密,对应的私钥加密只有对应的公钥才能解密。


知道了https的不同,那到底怎么解决传输安全的呢?


 调用流程:


用户浏览器打开http://baidu.com,会从服务器获取该CA证书(CA证书是从专业机构购买的)获取公钥并返回浏览器

浏览器请求服务器时会使用公钥对请求数据经行加密

服务器收到请求就使用私钥对请求数据经行解密,获取数据经行接口处理

这里试想下,如果https请求被他人拦截获取,他人没有私钥对传输数据进行解密,这样就不能获取传输数据,并对数据经行篡改,所以他人就算拦截到请求也没用,保证了传输安全。

 说说https的优点与缺点


优点:

能保证传输安全

浏览器以先索引https页面,利于SEO排名

缺点:

相比http,每次传输增加了加密解密的成本

CA证书需要购买(当然你也可以自己生成利用jdk的toolkey工具自己生成CA证书,但浏览器不认)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值