2012-02-11 24 views
1

我正在构建一个基于Web的聊天应用程序,需要为发送或接收的每条消息发出AJAX请求。我想要加密的数据,并倾向于通过HTTPS运行AJAX(使用长轮询)。了解HTTPS连接设置开销

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

从任何一般信息/咨询

除此之外,我很好奇:

  • 作为一个非常粗略的估计,有多少额外的时间确实HTTPS请求采取比HTTP?假定1字节的内容长度和一个普通的PC。
  • 第一个AJAX请求会在每个AJAX请求之后有什么重要的缓存,从而允许它更快地建立连接?如果是这样,多快?

预先感谢您:-)

回答

1

一切都在HTTPS较慢。个人信息不应缓存,两端都有加密,SSL握手相对较慢。

长期投票将有所帮助。长期保持活力很好。在您的服务器上启用SSL会话也将避免很多开销。

真正的技巧将会做负载平衡或任何合法的缓存。不知道你的系统会有多少作为聊天服务器,但这是需要考虑的事情。

+0

“无法缓存”:实际上,这是不正确的。 – Bruno 2012-02-13 21:51:18

+0

是的。我已经更新了一些答案。然后出现“可以与应该”的问题。 – Jordan 2012-02-14 05:35:23

0

您将从this article获得更多信息。

大部分开销都在握手中(交换证书,检查其撤销,...)。会话恢复和最近的假启动扩展在这方面有帮助。 根据我的经验,使用客户端证书认证和广告太多CA(the CertificateRequest message sent by the server can even become too big)时会发生更糟糕的情况;这是非常罕见的,因为在实践中,当您使用客户端证书身份验证时,您只会接受来自数量有限的CA的客户端证书。

如果您正确配置服务器(对于适用的资源),还可以使用Cache-Control: public为通过HTTPS提供的资源启用浏览器缓存。