http和https的区别
- 是否加密: HTTPS 是 HTTP 协议的更加安全的版本,通过使用SSL/TLS进行加密传输的数据;
- 连接方式不同: HTTP(三次握手)和 HTTPS (三次握手+数字证书)连接方式不一样;
- 端口不同: HTTP 默认的端口是 80和 HTTPS 默认端口是 443
https的验证过程
- 首先客户端向服务器发起请求
- 服务器保留私钥,并将公钥以数字证书的形式发送给客户端
- 客户端验证证书的有效性,并生成一个随机的client key
- 客户端使用公钥对client key进行非对称加密,并发送给服务端
- 服务端使用私钥解密client key,此时双方都拥有客户端生成的client key
- 服务端将要返回的数据,使用client key进行对称加密,发送给客户端
- 客户端使用client key对收到的数据进行解密