交互过程
主要缺点
网络耗时(比HTTP多了交互次数)。
加解密耗时。
比HTTP慢几百毫秒以上,页面加载时间增加了50%,增加10%到20%的耗电
耗时分析
可能浏览器需要由http跳转到https的耗时,用户使用http需要服务端返回302强制跳转https。
接着经过某种机制多次交互协商得到通信密钥,并且还会对证书的身份认证。
可能浏览器需要到证书机构查询证书状态。
可能还需要到DNS去解析出证书机构的IP。
浏览器验证证书合法性需要耗时。
协商密钥过程中服务端和客户端都需要进行多次加解密运算哈希运算,需要耗时。
完全握手优化
异步耗时的对称加解密算法,比如RSA,使用其他的专门的计算集群或硬件加速。
对称加密耗时少,无需异步化,选择耗时少的算法。
简化握手
对于已经完全握手过的客户端可以将session id传到服务器,服务器在内存中寻找是否已可信任。但集群中存在session管理的问题,可用ip hash绑定客户端也可以通过分布式缓存解决。
类似的还可以用session ticket机制,客户端传过来,服务端能解密成功即可信任。session ticket不存在管理问题,只要每台服务器都配置成相同密钥,即不管发到哪台都能解密成功。
领取专属 10元无门槛券
私享最新 技术干货