学习自https://www.cnblogs.com/zhangsanfeng/p/9125732.html,感谢博主
超文本传输协议HTTP被用于在web浏览器和网站服务器之间传递信息,但以明文方式发送内容,被攻击者截取就可以直接读取内容信息,不适合传输敏感信息。
为解决这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全,在HTTP的基础上加入了SSL协议,SSL依靠证书来验证服务器身份,并为浏览器和服务器之间的通信加密。
HTTPS协议的主要作用可以分为两种:1.建立一个信息安全的通道,来确保数据传输的安全;2.确认网站的真实性。
HTTPS工作机制
1.客户端使用https的url访问web服务器,要求与web服务器建立ssl连接。
2.web服务器收到客户端请求后,会将网站的证书信息(证书中包含公钥)传送一份给客户端。
3.客户端浏览器与web服务器协商ssl连接的安全等级,即信息加密的等级。
4.客户端浏览器根据安全等级,建立会话密钥(产生随机对称密钥),然后利用网站的公钥将会话密钥加密,并传送给网站。
5.web服务器利用自己的私钥解密出会话密钥。
6.web服务器与客户端浏览器利用会话密钥对称加密之间的通信。
HTTPS优点
1.比http安全,可防止中间人攻击,确保数据在传输过程中不被窃取、篡改。
缺点
1.握手协议比较耗时,会延长页面加载时间。
2.HTTPS连接缓存不如HTTP高效,会增加数据开销和功耗。
3.证书需要付费。