作为面试中常考的点,打算在这篇文章做一个仔细的总结。
http和https主要的区别如下:
①https需要到CA申请证书,一般的免费证书比较少
②http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议
③端口一个是80一个是443
④http是无状态连接,https是加密传输的网络协议,更安全。
https请求的流程:
- 客户端发起https请求到443端口
- 服务端提前准备好一套证书,也就是公私钥
- 客户端解析证书,如果没问题,就生成随机数并且加密,除非有公钥,不然无法打开
- 将加密的值发送给服务端
- 服务端使用私钥解密,然后将该值进行对称加密
- 保证对称加密后,客户端能识别