日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SSL延迟有多大 (Https)

發(fā)布時間:2024/9/5 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SSL延迟有多大 (Https) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

據(jù)說,Netscape公司當(dāng)年設(shè)計SSL協(xié)議的時候,有人提過,將互聯(lián)網(wǎng)所有鏈接都變成HTTPs開頭的加密鏈接。

這個建議沒有得到采納,原因之一是HTTPs鏈接比不加密的HTTP鏈接慢很多。(另一個原因好像是,HTTPs鏈接默認不能緩存。)

自從我知道這個掌故以后,腦袋中就有一個觀念:HTTPs鏈接很慢。但是,它到底有多慢,我并沒有一個精確的概念。直到今天我從一篇文章中,學(xué)到了測量HTTPs鏈接耗時的方法。

首先我解釋一下,為什么HTTPs鏈接比較慢。

HTTPs鏈接和HTTP鏈接都建立在TCP協(xié)議之上。HTTP鏈接比較單純,使用三個握手數(shù)據(jù)包建立連接之后,就可以發(fā)送內(nèi)容數(shù)據(jù)了。

上圖中,客戶端首先發(fā)送SYN數(shù)據(jù)包,然后服務(wù)器發(fā)送SYN+ACK數(shù)據(jù)包,最后客戶端發(fā)送ACK數(shù)據(jù)包,接下來就可以發(fā)送內(nèi)容了。這三個數(shù)據(jù)包的發(fā)送過程,叫做TCP握手。

再來看HTTPs鏈接,它也采用TCP協(xié)議發(fā)送數(shù)據(jù),所以它也需要上面的這三步握手過程。而且,在這三步結(jié)束以后,它還有一個SSL握手。

總結(jié)一下,就是下面這兩個式子。

HTTP耗時 = TCP握手

HTTPs耗時 = TCP握手 + SSL握手

所以,HTTPs肯定比HTTP耗時,這就叫SSL延遲。

命令行工具curl有一個w參數(shù),可以用來測量TCP握手和SSL握手的具體耗時,以訪問支付寶為例。

$ curl -w "TCP handshake: %{time_connect}, SSL handshake: %{time_appconnect}\n" -so /dev/null https://www.alipay.com TCP handshake: 0.022, SSL handshake: 0.064

上面命令中的w參數(shù)表示指定輸出格式,time_connect變量表示TCP握手的耗時,time_appconnect變量表示SSL握手的耗時(更多變量請查看文檔和實例),s參數(shù)和o參數(shù)用來關(guān)閉標(biāo)準(zhǔn)輸出。

從運行結(jié)果可以看到,SSL握手的耗時(64毫秒)大概是TCP握手(22毫秒)的三倍。也就是說,在建立連接的階段,HTTPs鏈接比HTTP鏈接要長3倍的時間,具體數(shù)字取決于CPU的快慢和網(wǎng)絡(luò)狀況。

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

?

OpenSSL詳解(使用及解釋):http://www.ibm.com/developerworks/cn/linux/l-openssl.html

轉(zhuǎn)載于:https://www.cnblogs.com/wfwenchao/p/5498008.html

總結(jié)

以上是生活随笔為你收集整理的SSL延迟有多大 (Https)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。