我们都知道,HTTP传递信息是以明文的形式进行传输的,这并不安全。它会带来以下3个风险:
- 窃听风险,第三方可以获知通信内容
- 篡改风险,第三方可以修改通信内容
- 冒充风险,第三方可以冒充他人身份参与通信
而HTTPS的出现正是为了解决这个问题。
为了保证隐私数据能加密传输,在http的基础上采用了SSL/TSL协议,即 HTTPS = HTTP + SSL/TSL,通过SSL证书来验证服务器的身份,并为浏览器和服务器之间的通信进行加密。
TSL协议
ssl协议位于TCP/IP协议与各种应用层协议之间,浏览器和服务器在使用SSL建立连接时需要选择一组恰当的加密算法来实现安全通信,为数据通讯提供安全支持。
流程图如下:
- 首先客户端通过URL访问服务器建立 ssl 连接
- 服务端收到客户端请求后,会将网站支持的证书信息传递一份给客户端
- 客户端的服务器开始协商 ssl 连接的安全等级,也就是信息加密的等级
- 客户端的浏览器根据双方统一的安全等级建立会话秘钥,然后利用网站的公钥将会话秘钥加密并传送给网站
- 服务器利用自己的私钥解密出会话秘钥
-
http 与 https的区别
https 是 http 协议的安全版本,http协议的数据传输是明文的,是不安全的。https使用了
SSL/TSL协议进行了加密处理,相对更安全- http 与 https 使用的连接方式不同,默认端口不同,http为80端口,https为443端口
- https 由于需要设计加密以及多次握手,性能方面不如 http
- https 需要 ssl , ssl 证书需要钱,功能越强大的证书费用越高
下一篇文章我会详细说说TSL的加密技术,敬请期待~~
