2012-02-11 31 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提供的資源啓用瀏覽器緩存。