HTTP 与 HTTPS 的区别/对称加密与非对称加密/HTTP2

1.HTTP 与 HTTPS 的区别
https不是一个新的协议,它只是http协议身披一层SSL(Secure Socket Layer,安全套阶 层)协议,SSL这层协议存在于应用层(http层)到TCP层之间,如下图所示:
HTTP 与 HTTPS 的区别/对称加密与非对称加密/HTTP2
SSL(Secure Socket Layer,安全套阶层)
TSL(transfor secure layer 安全层传输协议)
HTTP 与 HTTPS 的区别/对称加密与非对称加密/HTTP2
TLS 由记录协议、握手协议、警告协议、变更密码规范协议、扩展协议等几个子协议组成,综合使用了对称加密、非对称加密、身份认证等许多密码学前沿技术。
那为什么要使用https?先简单的罗列一下缺点
1、http协议的报文传输时不加密的,有些隐私信息存在被窃听的风险。
2、http协议通信时无法验证通信方身份,可能存在伪装者(客户端、服务器)
3、http协议无法判断通信报文的完整性,通信报文在TCP/IP协议通信中可能会被篡改使用
https协议就是为了解决以上的三个问题,咱们都知道https协议是http协议+ssl协议组成的,那么http协议的缺点,只能是ssl协议来完成。

HTTP 与 HTTPS 的区别/对称加密与非对称加密/HTTP2
HTTPS 与HTTP 核心区别在于两点:

1.把 HTTP 下层的传输协议由 TCP/IP 换成了 SSL/TLS
2.收发报文不再使用 Socket API,而是调用专门的安全接口。

具体区别:

1.HTTPS协议需要到CA申请证书,一般免费证书很少,需要交费
2.HTTP是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的ssl加密传输协议
3.HTTP和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4.HTTP的连接很简单,是无状态的。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输身份认证的网络协议,比HTTP协议安全。

2.对称加密与非对称加密
对称**加密是指加密和解密使用同一个**的方式,这种方式存在的最大问题就是**发送问题,即如何安全地将**发给对方;
而非对称加密是指使用一对非对称**,即公钥和私钥,公钥可以随意发布,但私钥只有自己知道。发送密文的一方使用对方的公钥进行加密处理,对方接收到加密信息后,使用自己的私钥进行解密。
由于非对称加密的方式不需要发送用来解密的私钥,所以可以保证安全性;但是和对称加密比起来,非常的慢.
综上:我们还是用对称加密来传送消息,但对称加密所使用的**我们可以通过非对称加密的方式发送出去。

3.HTTP2
HTTP2 可以提高了网页的性能。
在 HTTP1 中浏览器限制了同一个域名下的请求数量(Chrome 下一般是六个),当在请求很多资源的时候,由于队头阻塞当浏览器达到最大请求数量时,剩余的资源需等待当前的六个请求完成后才能发起请求。
HTTP2 中引入了多路复用的技术,这个技术可以只通过一个 TCP 连接就可以传输所有的请求数据。多路复用可以绕过浏览器限制同一个域名下的请求数量的问题,进而提高了网页的性能。

参考链接:https://juejin.im/post/5c591fda6fb9a049dc02b1cc
https://juejin.im/post/5e9b22ed6fb9a03c337f8c47