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