交互过程
这里写图片描述
主要缺点
网络耗时(比HTTP多了交互次数)。
加解密耗时。
比HTTP慢几百毫秒以上,页面加载时间增加了50%,增加10%到20%的耗电
耗时分析
可能浏览器需要由http跳转到https的耗时,用户使用http需要服务端返回302强制跳转https。
接着经过某种机制多次交互协商得到通信密钥,并且还会对证书的身份认证。
可能浏览器需要到证书机构查询证书状态。
可能还需要到DNS去解析出证书机构的IP。
浏览器验证证书合法性需要耗时。
协商密钥过程中服务端和客户端都需要进行多次加解密运算哈希运算,需要耗时。
完全握手优化
异步耗时的对称加解密算法,比如RSA,使用其他的专门的计算集群或硬件加速。
对称加密耗时少,无需异步化,选择耗时少的算法。
简化握手
对于已经完全握手过的客户端可以将session id传到服务器,服务器在内存中寻找是否已可信任。但集群中存在session管理的问题,可用ip hash绑定客户端也可以通过分布式缓存解决。
类似的还可以用session ticket机制,客户端传过来,服务端能解密成功即可信任。session ticket不存在管理问题,只要每台服务器都配置成相同密钥,即不管发到哪台都能解密成功。
————-推荐阅读————
——————广告时间—————-
公众号的菜单已分为“分布式”、“机器学习”、“深度学习”、“NLP”、“Java深度”、“Java并发核心”、“JDK源码”、“Tomcat内核”等,可能有一款适合你的胃口。
鄙人的新书《Tomcat内核设计剖析》已经在京东销售了,有需要的朋友可以购买。感谢各位朋友。
欢迎关注: