時間:2015-05-27 14:08:36 瀏覽:2897次
日前百度站長公布宣布“百度放開對https站點的收錄,https站點不需要再做任何額外的工作就可以被百度順利抓收?!毕啾扔趆ttp站點,HTTPS在保護用戶隱私,防止流量劫持方面發(fā)揮著非常關(guān)鍵的作用,但與此同時,HTTPS也會降低用戶訪問速度,增加網(wǎng)站服務(wù)器的計算資源消耗。那么,HTTPS對網(wǎng)站應(yīng)該如何進行SEO優(yōu)化呢?下面和筆者小丹一起分享業(yè)界前輩的這篇分析文章。
首先,HTTPS對訪問速度的影響。在介紹速度優(yōu)化策略之前,先來看下HTTPS對速度有什么影響。影響主要來自兩方面:
第一, 協(xié)議交互所增加的網(wǎng)絡(luò)RTT(round trip time)。
第二, 加解密相關(guān)的計算耗時。
我們先來看一下網(wǎng)絡(luò)耗時增加。由于 HTTP和HTTPS都需要DNS解析,并且大部分情況下使用了DNS緩存,為了突出對比效果,忽略主域名的DNS解析時間。用戶使用HTTP協(xié)議訪問http://www.url.com時會有如下網(wǎng)絡(luò)上的交互耗時
HTTP首個請求的網(wǎng)絡(luò)耗時
可見,用戶只需要完成TCP三次握手建立TCP連接就能夠直接發(fā)送HTTP請求獲取應(yīng)用層數(shù)據(jù),此外在整個訪問過程中也沒有需要消耗計算資源的地方。
接下來看HTTPS的訪問過程,相比HTTP要復(fù)雜很多,在部分場景下,使用HTTPS訪問有可能增加7個RTT。如下圖:
HTTPS站點首個請求對訪問速度的影響
HTTPS首次請求需要的網(wǎng)絡(luò)耗時解釋如下:
1、三次握手建立TCP連接。耗時一個RTT。
2、使用HTTP發(fā)起GET請求,服務(wù)端返回302跳轉(zhuǎn)到https://www.url.com。需要一個RTT以及302跳轉(zhuǎn)延時。
(1)大部分情況下用戶不會手動輸入https://www.url.com來訪問HTTPS,服務(wù)端只能返回302強制瀏覽器跳轉(zhuǎn)到https。
(2)瀏覽器處理302跳轉(zhuǎn)也需要耗時。
3、三次握手重新建立TCP連接。耗時一個RTT。
302跳轉(zhuǎn)到HTTPS服務(wù)器之后,由于端口和服務(wù)器不同,需要重新完成三次握手,建立TCP連接。
4、TLS完全握手階段一。耗時至少一個RTT。
(1)這個階段主要是完成加密套件的協(xié)商和證書的身份認(rèn)證。
(2)服務(wù)端和瀏覽器會協(xié)商出相同的密鑰交換算法、對稱加密算法、內(nèi)容一致性校驗算法、證書簽名算法、橢圓曲線等。
(3)瀏覽器獲取到證書后需要校驗證書的有效性,比如是否過期,是否撤銷。
5、 解析CA站點的DNS。耗時一個RTT。
(1)瀏覽器獲取到證書后,有可能需要發(fā)起OCSP或者CRL請求,查詢證書狀態(tài)。
(2)瀏覽器首先獲取證書里的CA域名。
(3)如果沒有命中緩存,瀏覽器需要解析CA域名的DNS。
6、三次握手建立CA站點的TCP連接。耗時一個RTT。
DNS解析到IP后,需要完成三次握手建立TCP連接。
7、發(fā)起OCSP請求,獲取響應(yīng)。耗時一個RTT。
8、完全握手階段二,耗時一個RTT及計算時間。
完全握手階段二主要是密鑰協(xié)商。
完全握手結(jié)束后,瀏覽器和服務(wù)器之間進行應(yīng)用層(也就是HTTP)數(shù)據(jù)傳輸。
當(dāng)然不是每個請求都需要增加7個RTT才能完成HTTPS首次請求交互。大概只有不到0.01%的請求才有可能需要經(jīng)歷上述步驟,它們需要滿足如下條件:
1、必須是首次請求。即建立TCP連接后發(fā)起的第一個請求,該連接上的后續(xù)請求都不需要再發(fā)生上述行為。
2、必須要發(fā)生完全握手,而正常情況下80%的請求能實現(xiàn)簡化握手。
3、 瀏覽器需要開啟OCSP或者CRL功能。Chrome默認(rèn)關(guān)閉了ocsp功能,firefox和IE都默認(rèn)開啟。
4、瀏覽器沒有命中OCSP緩存。Ocsp一般的更新周期是7天,firefox的查詢周期也是7天,也就說是7天中才會發(fā)生一次ocsp的查詢。
5、瀏覽器沒有命中CA站點的DNS緩存。只有沒命中DNS緩存的情況下才會解析CA的DNS。
然后我們再來談?wù)勱P(guān)于計算耗時增加。上面還只是簡單描述了HTTPS關(guān)鍵路徑上必須消耗的純網(wǎng)絡(luò)耗時,沒有包括非常消耗CPU資源的計算耗時,事實上計算耗時也不小(30ms以上),從瀏覽器和服務(wù)器的角度分別介紹一下:
1、瀏覽器計算耗時
(1)RSA證書簽名校驗,瀏覽器需要解密簽名,計算證書哈希值。如果有多個證書鏈,瀏覽器需要校驗多個證書。
(2)RSA密鑰交換時,需要使用證書公鑰加密premaster。耗時比較小,但如果手機性能比較差,可能也需要1ms的時間。
(3)ECC密鑰交換時,需要計算橢圓曲線的公私鑰。
(4)ECC密鑰交換時,需要使用證書公鑰解密獲取服務(wù)端發(fā)過來的ECC公鑰。
(5)ECC密鑰交換時,需要根據(jù)服務(wù)端公鑰計算master key。
(6)應(yīng)用層數(shù)據(jù)對稱加解密。
(7)應(yīng)用層數(shù)據(jù)一致性校驗。
2、服務(wù)端計算耗時
(1)RSA密鑰交換時需要使用證書私鑰解密premaster。這個過程非常消耗性能。
(2)ECC密鑰交換時,需要計算橢圓曲線的公私鑰。
(3)ECC密鑰交換時,需要使用證書私鑰加密ECC的公鑰。
(3)ECC密鑰交換時,需要根據(jù)瀏覽器公鑰計算共享的master key。
(4)應(yīng)用層數(shù)據(jù)對稱加解密。
(5)應(yīng)用層數(shù)據(jù)一致性校驗。
由于客戶端的CPU和操作系統(tǒng)種類比較多,所以計算耗時不能一概而論。手機端的HTTPS計算會比較消耗性能,單純計算增加的延遲至少在50ms以上。PC端也會增加至少10ms以上的計算延遲。服務(wù)器的性能一般比較強,但由于RSA證書私鑰長度遠大于客戶端,所以服務(wù)端的計算延遲也會在5ms以上。
雖然我們知道網(wǎng)速只是SEO優(yōu)化影響因素的一部分,但是不能否認(rèn)互聯(lián)網(wǎng)八秒原則的存在的意義。HTTPS站點能否破而后立突破網(wǎng)速問題也是以后我們進行SEO優(yōu)化所需要重點關(guān)注的問題。
(轉(zhuǎn)載請注明轉(zhuǎn)自:smyunshangcheng.cn/news/n1702.htm,謝謝!珍惜別人的勞動成果,就是在尊重自!)
24小時服務(wù)熱線:400-1180-360
業(yè)務(wù) QQ: 444961110電話: 0311-80740308
渠道合作: 444961110@qq.com
河北供求互聯(lián)信息技術(shù)有限公司(河北供求網(wǎng))誕生于2003年4月,是康靈集團旗下子公司,也是河北省首批從事網(wǎng)站建設(shè)、電子商務(wù)開發(fā),并獲得國家工業(yè)和信息化部資質(zhì)認(rèn)證的企業(yè)。公司自成立以來,以傳播互聯(lián)網(wǎng)文化為已任, 以高科技為起點,以網(wǎng)絡(luò)營銷研究與應(yīng)用為核心,致力于為各企事業(yè)單位提供網(wǎng)絡(luò)域名注冊、虛擬主機租用、網(wǎng)站制作與維護、網(wǎng)站推廣和宣傳、網(wǎng)站改版與翻譯、移動互聯(lián)網(wǎng)營銷平臺開發(fā)與運營、企業(yè)郵局、網(wǎng)絡(luò)支付、系統(tǒng)集成、軟件開發(fā)、電子商務(wù)解決方案等優(yōu)質(zhì)的信息技術(shù)服務(wù),與中國科學(xué)院計算機網(wǎng)絡(luò)信息中心、騰訊、百度、阿里巴巴、搜狗、360、電信、聯(lián)通、中國數(shù)據(jù)、萬網(wǎng)、中資源、陽光互聯(lián)、點點客、北龍中網(wǎng)、電信通等達成戰(zhàn)略合作伙伴關(guān)系。
版權(quán)所有 ? 河北供求互聯(lián)信息技術(shù)有限公司-優(yōu)秀的石家莊網(wǎng)站建設(shè)公司,為您提供石家莊網(wǎng)站建設(shè)、網(wǎng)站推廣等優(yōu)質(zhì)服務(wù).
服務(wù)熱線:400-1180-360 增值電信業(yè)務(wù)經(jīng)營許可證:冀B2-20105159 冀ICP備09010972號