天天看點

SSL延遲有多大?

這個建議沒有得到采納,原因之一是https連結比不加密的http連結慢很多。(另一個原因好像是,https連結預設不能緩存。)

SSL延遲有多大?

首先我解釋一下,為什麼https連結比較慢。

https連結和http連結都建立在tcp協定之上。http連結比較單純,使用三個握手資料包建立連接配接之後,就可以發送内容資料了。

SSL延遲有多大?

上圖中,用戶端首先發送syn資料包,然後伺服器發送syn+ack資料包,最後用戶端發送ack資料包,接下來就可以發送内容了。這三個資料包的發送過程,叫做tcp握手。

總結一下,就是下面這兩個式子。

http耗時 = tcp握手 https耗時 = tcp握手 + ssl握手

是以,https肯定比http耗時,這就叫ssl延遲。

從運作結果可以看到,ssl握手的耗時(64毫秒)大概是tcp握手(22毫秒)的三倍。也就是說,在建立連接配接的階段,https連結比http連結要長3倍的時間,具體數字取決于cpu的快慢和網絡狀況。

是以,如果是對安全性要求不高的場合,為了提高網頁性能,建議不要采用保密強度很高的數字證書。一般場合下,1024位的證書已經足夠了,2048位和4096位的證書将進一步延長ssl握手的耗時。

繼續閱讀