http和https的区别
- 首先是端口号不同。http使用的是80端口,而https使用的是443端口
- http使用明文进行传输,安全性比较差,而https它的话是基于http协议,通过SSL(TLS)提供加密处理的,所以安全性比较好
- https需要到CA申请证书,一般的话,证书是收费的
- http的页面响应速度比https快,因为http只需要tcp建立3次连接,而https除了tcp三次连接还需要加上ssl握手需要的9个包,一共12个
HTTPS 其实就是建构在 SSL/TLS 之上的 HTTP 协议,所以,要比较 HTTPS 比 HTTP 要更耗费服务器资源
https的连接过程
-
ca证书的验证过程
ca证书类似于网络的身份证, 由ca机构颁发, 用来证明网站是合法的
验证过程就是网站把自己的ca证书发来, 其中带有公钥 有效期等等信息
ssl和tls
ssl:安全套接字协议
tls:传输层安全
SSL对称加密和非对称加密
对称加密
加密算法是公开的,靠的是密钥来加密数据。
使用一个密钥加密,使用相同的密钥才能成功解密。
- 优点:计算量小、加密和解密速度比较快
- 缺点:密钥容易泄露,在传输加密数据之前需要传递密钥,一个用户对应一个密钥,服务端管理密钥麻烦。
非对称加密
机密算法公开,有一个公钥和一个私钥。公钥和私钥需要加密算法生成。
- 公钥加密只能私钥解密
- 私钥加密只能由公钥解密
服务器发送公钥给客户端,服务器保存公钥和私钥。
- 优点:数据传输安全
- 缺点:计算量大、加密解密的速度慢
