了解HTTPS连接设置开销

时间:2012-02-11 02:02:46

标签: ajax https

我正在构建一个基于网络的聊天应用,需要为发送或接收的每条消息发出AJAX请求。我希望数据加密,并倾向于通过HTTPS运行AJAX(使用长轮询)。

但是,由于这里的请求频率远高于基本的网页浏览,我想更好地了解设置加密的开销(网络使用,时间,服务器CPU,客户端CPU)每个HTTPS请求的连接。

除了任何一般信息/建议,我很好奇:

  • 作为一个非常粗略的近似,与HTTP相比,HTTPS请求需要多少额外时间?假设内容长度为1个字节,平均为PC。
  • 第一个AJAX请求在第一个之后是否有任何重要的缓存,允许它更快地建立连接?如果是这样,快多少?

提前谢谢: - )

2 个答案:

答案 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提供的资源启用浏览器缓存。