经常上网的朋友对于HTTP应该不陌生,但许多朋友可能不太清楚HTTP2和HTTPS。HTTP2和HTTPS之间的关系和区别将在下面详细描述。
一、HTTP2与HTTPS的关系
HTTP2和HTTPS属于同一种网络传输协议。HTTP2(原名HTTP/2.0)即超文本传输协议2.0是下一代的HTTP协议。HTTPS是以安全性为目标的HTTP通道,通过基于HTTP的传输加密和身份认证来保证传输过程的安全性。HTTPS在HTTP的基础上增加了SSL层,而HTTPS的安全基础是SSL,所以加密的详细内容需要SSL。
二、HTTP2与HTTPS的区别
尽管HTTP2是下一代HTTP协议,并且已经做了一些改变(如二进制分帧、多路复用、头部压缩、服务器推送等),但它仍然采用未加密的传输模式,这容易导致数据在传输过程中被截取或篡改,不能保证数据的完整性。
而HTTPS使用的则是加密传输,在HTTP协议下增加了一层SSL协议,通过加密整个通信线路进行加密来防止通信内容被窃听、篡改或伪装。
用文字说明一下大概就是这样:
1)用户向web服务器发起安全连接的请求;
2)服务器返回由CA认证的数字证书,证书中包含服务器的公钥;
3)用户获得数字证书,并使用内置于浏览器中的SSL证书解密以获得服务器的公钥;
4)用户用服务器的公钥加密一个用于接下来的对称加密算法的密钥,传给web服务器;
5)因为只有服务器有私钥能解密,所以不需要担心中间人截取加密的密钥;
6)服务器获得加密密钥,解密获得密钥,然后使用对称加密算法完成与用户接下来的网络通信。
在了解了HTTP2和HTTPS之间的关系和区别之后,可以看出通过HTTPS传输信息是非常安全的。第三方不能窃听数据,而且它还有校验机制,一旦被篡改,通信双方会立刻发现,具有双重保护作用。