SSL延遲有多大?

2022-06-22 22:18:25 字數 972 閱讀 4684

日期: 2023年9月24日

據說,netscape公司當年設計ssl協議的時候,有人提過,將網際網路所有鏈結都變成https開頭的加密鏈結。

這個建議沒有得到採納,原因之一是https鏈結比不加密的http鏈結慢很多。(另乙個原因好像是,https鏈結預設不能快取。)

自從我知道這個掌故以後,腦袋中就有乙個觀念:https鏈結很慢。但是,它到底有多慢,我並沒有乙個精確的概念。直到今天我從一篇文章中,學到了測量https鏈結耗時的方法。

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

https鏈結和http鏈結都建立在tcp協議之上。http鏈結比較單純,使用三個握手資料報建立連線之後,就可以傳送內容資料了。

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

再來看https鏈結,它也採用tcp協議傳送資料,所以它也需要上面的這三步握手過程。而且,在這三步結束以後,它還有乙個ssl握手。

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

http耗時 = tcp握手

https耗時 = tcp握手 + ssl握手

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

命令列工具curl有乙個w引數,可以用來測量tcp握手和ssl握手的具體耗時,以訪問支付寶為例。

tcp handshake: 0.022, ssl handshake: 0.064

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

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

(完)

SSL延遲有多大?

據說,netscape公司當年設計ssl協議的時候,有人提過,將網際網路所有鏈結都變成https開頭的加密鏈結。這個建議沒有得到採納,原因之一是https鏈結比不加密的http鏈結慢很多。另乙個原因好像是,https鏈結預設不能快取。自從我知道這個掌故以後,腦袋中就有乙個觀念 https鏈結很慢。但...

SSL延遲有多大?

據說,netscape公司當年設計ssl協議的時候,有人提過,將網際網路所有鏈結都變成https開頭的加密鏈結。這個建議沒有得到採納,原因之一是https鏈結比不加密的http鏈結慢很多。另乙個原因好像是,https鏈結預設不能快取。自從我知道這個掌故以後,腦袋中就有乙個觀念 https鏈結很慢。但...

夾角有多大

時間過的好快,乙個學期就這麼的過去了,xhd在傻傻的看著表,出於對資料的渴望,突然他想知道這個表的時針和分針的夾角是多少。現在xhd知道的只有時間,請你幫他算出這個夾角。注 夾角的範圍 0,180 時針和分針的轉動是連續而不是離散的。input 輸入資料的第一行是乙個資料t,表示有t組資料。每組資料...