我正在构建一个基于网络的聊天应用,需要为发送或接收的每条消息发出AJAX请求。我希望数据加密,并倾向于通过HTTPS运行AJAX(使用长轮询)。
但是,由于这里的请求频率远高于基本的网页浏览,我想更好地了解设置加密的开销(网络使用,时间,服务器CPU,客户端CPU)每个HTTPS请求的连接。
除了任何一般信息/建议,我很好奇:
提前谢谢: - )
答案 0 :(得分:1)
HTTPS中的所有内容都较慢。不应缓存个人信息,两端都有加密,SSL握手速度相对较慢。
长轮询会有所帮助。长期保持良好。在服务器上启用SSL会话也可以避免很多开销。
真正的诀窍是进行负载平衡或任何类型的合法缓存。不确定在你的系统中会有多少作为聊天服务器,但这是需要考虑的事情。
答案 1 :(得分:0)
您将从this article获得更多信息。
大部分开销都在握手中(交换证书,检查撤销,......)。会话恢复和最近的 false start 扩展在这方面有所帮助。
根据我的经验,使用客户端证书身份验证和通告过多CA(the CertificateRequest
message sent by the server can even become too big)时会出现更糟糕的情况;这是非常罕见的,因为在实践中,当您使用客户端证书身份验证时,您只接受来自有限数量的CA的客户端证书。
如果您正确配置服务器(适用于适合的资源),您还可以使用Cache-Control: public
为通过HTTPS提供的资源启用浏览器缓存。