https协议及与http的区别

http使用明文,容易导致隐私信息泄露,或被人篡改信息、假冒身份。因此有了https。

https

HTTPS 协议(HyperText Transfer Protocol over Secure Socket Layer):一般理解为HTTP+SSL/TLS,http的升级安全版,通过 SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。

SSL\TLS

SSL(Secure Socket Layer,安全套接字层):1994年为 Netscape 所研发,SSL 协议位于 TCP/IP 协议与各种应用层协议之间,为数据通讯提供安全支持。

防冒充(pretending): 验证交互双方(通常只是对服务端)身份的真实性;
防窃听(eavesdropping): 对传输的数据进行加密,即使被截获也无法被识别;
防篡改(tampering): 确保接收方收到的数据是原始未篡改过的,若被篡改能识别出来并丢弃;

这里用到非对称加密算法。客户端向服务器端索要并验证公钥,客户端用这个公钥加密约定信息,而该消息只有拥有私钥的服务器端才能解密,这样双方“秘密地”协商生成"对话密钥",并双方采用"对话密钥"进行加密通信。将公钥放在数字证书中,只要证书是可信的(由权威CA颁布),公钥就是可信的,从而保证公钥不被篡改。

握手过程

  1. 建立tcp连接;
  2. clientHello:客户端发起请求,包括客户端支持的协议版本(如SSL
    3.0)、压缩方法、加密方法以及一个随机数1;
  3. serverHello:服务器端收到clientHello消息后,做出回应。包括,确认协议版本、加密方法、自己生成的一个随机数2以及服务器证书;
  4. 客户端验证服务器的证书,从中取出公钥。客户端再次生成一个随机数3,并用公钥进行加密后发回给服务器,并告知握手结束;
  5. 服务器用私钥解密得到随机数3。双方根据这三个随机数生成一个密钥,进行对称加密。随后的信息将用协商好的加密方法和密钥发送;

HTTPS和HTTP的区别

  • 默认端口不同,http是80,https是443;
  • https需要CA证书,更贵,功能越强大的证书费用越高;
  • HTTPS协议多次握手,导致页面的加载时间延长近50%;
  • HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;
  • SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。
  • http是明文传输而https是具有安全性的ssl加密传输;
  • http和https使用连接方式不同,http是无状态的,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值