HTTPS简介
HTTPS即HTTP over SSL/TLS,SSL协议由于存在严重的安全性问题已被弃用,所以现在的HTTPS都是基于TLS协议实现的。所以,要研究HTTPS协议就不得不先研究TLS协议。以下是HTTPS在网络通信中用到的协议栈:
TLS协议简介
TLS,全称Tranport Layer Security,即传输层安全协议。TLS采用非对称加密算法来实现秘钥的传递,然后使用该秘钥和对称加密算法来实现数据通信过程的加解密。当然,数据通信过程也可以使用非对称加密算法进行加密,但因其效率极低所以通常不被使用。关于TLS的更多内容请参考TLS简解
HTTPS通信耗时
忽略服务端的处理逻辑耗时和数据的网络传输耗时,以下是一次HTTP和一次HTTPS耗时的对比:
HTTP耗时 = TCP三次握手 + TCP四次挥手
HTTPS耗时 = TCP三次握手 + TLS六次握手 + 数据加解密 + TCP四次挥手
其中数据加解密耗时受服务端和客户端CPU计算能力的影响较大,在手机上耗时较多,而在PC上耗时较少。