HTTP

  1. 一种用于web浏览器和web服务器基于数据传递的协议
  2. 基于TCP/IP协议的应用层传送,用于客户端和服务器之间的数据交互

HTTPS

  1. HTTP的安全版,基于SSL或TLS协议,对客户端和服务器之间加密和身份验证,使得数据之间传递具有了安全性

区别是什么?
1. https有加密,身份验证,公钥,对称秘钥
2. 公钥:https在客户端传递给服务器时,拿去到服务端提供的公钥对数据进行加密
3. 对称秘钥:https在服务器中接收到客户端传递过来的数据,使用自身的对称秘钥解密数据,使得数据之间能够安全传递
4. 身份认证:http无加密,无法确认是否是中间人,可以篡改数据内容。https,基于SSL或者TLS协议,添加了身份验证,确认了是客户端对服务器的参数
5. SEO网站排名:https由于安全会比http的网站排名靠前

三个方面
安全性
HTTP:不安全,数据传输过程中,传输数据明文可读,会造成人为攻击,篡改,窃听
HTTPS:安全,使用加密数据传递,在传输过过程中,使用加密算法进行加密和解密,无法对数据窃听,窃取
数据加密
HTTP:不提供数据加密机制,无法保存数据的机密性,敏感信息(登录信息,银行卡)在传输过程中容易截取
HTTPS:使用SSL/TLS协议,对数据加密,确保了传输的数据,在客户端和服务器中是加密的,提高了机密性和数据的完整性
端口
HTTP默认端口80
HTTPS默认端口443

HTTPS运行原理
1、握手协议:客户端和服务器之间通信,建立连接,交换加密算法和公钥;
2、秘钥交换:客户端生成对称秘钥,服务器使用公钥,对秘钥进行解密,发送给服务器,在使用私钥解密客户端发送过来的数据。获取到对称秘钥;
3、数据加密:客户端和服务器都有了对称秘钥,双方即可使用该秘钥加密或者解密通信中的数据。
4、数据传输:双方传输的数据都是加密的,确保了数据的机密性和完整性;
5、会话维护:通信过程中,客户端和服务器保持会话,以确保数据的连续性和一致性,如果需要,定期重新握手以刷新秘钥;