☀️HTTP和HTTPS的区别?HTTPS怎么加密的?

Posted °PJ想做前端攻城狮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了☀️HTTP和HTTPS的区别?HTTPS怎么加密的?相关的知识,希望对你有一定的参考价值。



前言

面试官:谈谈http和https吧。那https是怎么加密的?

我:🔥…


基本概念

HTTP

互联网上应用最为广泛的一种网络协议,超文本传输协议,是一个基于请求与响应,无状态的应用层的协议,常基于TCP/IP协议传输数据, 是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS

是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。


区别

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

  • http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
  • http和https使用的是完全不同的连接方式,用的端口也不一样,http是80,https是443。
  • http的连接很简单,是无状态的(可以通过cookie来解决);
  • HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

HTTPS的工作原理

步骤:

  1. 客户使用https的URL访问Web服务器,要求与Web服务器建立SSL连接。
  2. Web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
  3. 客户端的浏览器与Web服务器开始协商SSL连接的安全等级,也就是信息加密的等级。
  4. 客户端的浏览器根据双方同意的安全等级,建立会话密钥,然后利用网站的公钥将会话密钥加密,并传送给网站。
  5. Web服务器利用自己的私钥解密出会话密钥。
  6. Web服务器利用会话密钥加密与客户端之间的通信。

原理分析:实质上利用到了对称和非对称两种加密手段,通过对称加密对数据加密,通过非对称加密对 对称加密的密钥加密。

知识拓展-对称和非对称加密
  • 对称加密: 加密和解密的秘钥使用的是同一个.(常见:DES、3DES 、AES )
    • 优:算法公开、计算量小、加密速度快、加密效率高
    • 缺:不够安全
  • 非对称加密: 与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。(常见: RSA、DSA(数字签名用))
    • 优:安全
    • 缺:速度慢

HTTPS缺点

  • HTTPS协议多次握手,导致页面的加载时间延长近50%;
  • HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗;
  • 申请SSL证书需要钱,功能越强大的证书费用越高。
  • SSL涉及到的安全算法会消耗 CPU 资源,对服务器资源消耗较大。

以上是关于☀️HTTP和HTTPS的区别?HTTPS怎么加密的?的主要内容,如果未能解决你的问题,请参考以下文章

http跟https有啥区别

HTTP和HTTPS的区别及HTTPS加密算法

http与https的区别,为啥https比http安全

HTTP与HTTPS的区别对称加密和非对称加密什么是数字证书DNS 解析过程TCP和UDP的区别HTTP的特点TCP 和 UDP 对应的应用场景

HTTP和HTTPS的区别及HTTPS加密算法

HTTP和HTTPS的区别