中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

HTTPS對網(wǎng)站SEO的影響

2021-03-08    分類: 網(wǎng)站建設(shè)

1 前言

HTTPS在保護(hù)用戶隱私,防止流量劫持方面發(fā)揮著非常關(guān)鍵的作用,但與此同時,HTTPS也會降低用戶訪問速度,增加網(wǎng)站服務(wù)器的計算資源消耗。

本文主要介紹https對用戶體驗的影響。

本文最早發(fā)表于百度運維部官方博客

2 HTTPS對訪問速度的影響

在介紹速度優(yōu)化策略之前,先來看下HTTPS對速度有什么影響。影響主要來自兩方面:

1. 協(xié)議交互所增加的網(wǎng)絡(luò)RTT(round trip time)。

2. 加解密相關(guān)的計算耗時。

下面分別介紹一下。

2.1 網(wǎng)絡(luò)耗時增加

由于 HTTP和HTTPS都需要DNS解析,并且大部分情況下使用了DNS緩存,為了突出對比效果,忽略主域名的DNS解析時間。

用戶使用HTTP協(xié)議訪問http://www.baidu.com(或者www.baidu.com)時會有如下網(wǎng)絡(luò)上的交互耗時:

可見,用戶只需要完成TCP三次握手建立TCP連接就能夠直接發(fā)送HTTP請求獲取應(yīng)用層數(shù)據(jù),此外在整個訪問過程中也沒有需要消耗計算資源的地方。

接下來看HTTPS的訪問過程,相比HTTP要復(fù)雜很多,在部分場景下,使用HTTPS訪問有可能增加7個RTT。如下圖:

HTTPS首次請求需要的網(wǎng)絡(luò)耗時解釋如下:

1. 三次握手建立TCP連接。耗時一個RTT。

2. 使用HTTP發(fā)起GET請求,服務(wù)端返回302跳轉(zhuǎn)到https://www.baidu.com。需要一個RTT以及302跳轉(zhuǎn)延時。

a) 大部分情況下用戶不會手動輸入https://www.baidu.com來訪問HTTPS,服務(wù)端只能返回302強(qiáng)制瀏覽器跳轉(zhuǎn)到https。

b) 瀏覽器處理302跳轉(zhuǎn)也需要耗時。

3. 三次握手重新建立TCP連接。耗時一個RTT。

a) 302跳轉(zhuǎn)到HTTPS服務(wù)器之后,由于端口和服務(wù)器不同,需要重新完成三次握手,建立TCP連接。

4. TLS完全握手階段一。耗時至少一個RTT。

a) 這個階段主要是完成加密套件的協(xié)商和證書的身份認(rèn)證。

b) 服務(wù)端和瀏覽器會協(xié)商出相同的密鑰交換算法、對稱加密算法、內(nèi)容一致性校驗算法、證書簽名算法、橢圓曲線(非ECC算法不需要)等。

c) 瀏覽器獲取到證書后需要校驗證書的有效性,比如是否過期,是否撤銷。

5. 解析CA站點的DNS。耗時一個RTT。

a) 瀏覽器獲取到證書后,有可能需要發(fā)起OCSP或者CRL請求,查詢證書狀態(tài)。

b) 瀏覽器首先獲取證書里的CA域名。

c) 如果沒有命中緩存,瀏覽器需要解析CA域名的DNS。

6. 三次握手建立CA站點的TCP連接。耗時一個RTT。

a) DNS解析到IP后,需要完成三次握手建立TCP連接。

7. 發(fā)起OCSP請求,獲取響應(yīng)。耗時一個RTT。

8. 完全握手階段二,耗時一個RTT及計算時間。

a) 完全握手階段二主要是密鑰協(xié)商。

9. 完全握手結(jié)束后,瀏覽器和服務(wù)器之間進(jìn)行應(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。

2.2 計算耗時增加

上節(jié)還只是簡單描述了HTTPS關(guān)鍵路徑上必須消耗的純網(wǎng)絡(luò)耗時,沒有包括非常消耗CPU資源的計算耗時,事實上計算耗時也不小(30ms以上),從瀏覽器和服務(wù)器的角度分別介紹一下:

1, 瀏覽器計算耗時

a) RSA證書簽名校驗,瀏覽器需要解密簽名,計算證書哈希值。如果有多個證書鏈,瀏覽器需要校驗多個證書。

b) RSA密鑰交換時,需要使用證書公鑰加密premaster。耗時比較小,但如果手機(jī)性能比較差,可能也需要1ms的時間。

c) ECC密鑰交換時,需要計算橢圓曲線的公私鑰。

d) ECC密鑰交換時,需要使用證書公鑰解密獲取服務(wù)端發(fā)過來的ECC公鑰。

e) ECC密鑰交換時,需要根據(jù)服務(wù)端公鑰計算master key。

f) 應(yīng)用層數(shù)據(jù)對稱加解密。

g) 應(yīng)用層數(shù)據(jù)一致性校驗。

2, 服務(wù)端計算耗時

a) RSA密鑰交換時需要使用證書私鑰解密premaster。這個過程非常消耗性能。

b) ECC密鑰交換時,需要計算橢圓曲線的公私鑰。

c) ECC密鑰交換時,需要使用證書私鑰加密ECC的公鑰。

d) ECC密鑰交換時,需要根據(jù)瀏覽器公鑰計算共享的master key。

e) 應(yīng)用層數(shù)據(jù)對稱加解密。

f) 應(yīng)用層數(shù)據(jù)一致性校驗。

由于客戶端的CPU和操作系統(tǒng)種類比較多,所以計算耗時不能一概而論。手機(jī)端的HTTPS計算會比較消耗性能,單純計算增加的延遲至少在50ms以上。PC端也會增加至少10ms以上的計算延遲。

服務(wù)器的性能一般比較強(qiáng),但由于RSA證書私鑰長度遠(yuǎn)大于客戶端,所以服務(wù)端的計算延遲也會在5ms以上。

網(wǎng)頁標(biāo)題:HTTPS對網(wǎng)站SEO的影響
分享路徑:http://www.rwnh.cn/news30/104830.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、云服務(wù)器、Google用戶體驗、企業(yè)網(wǎng)站制作、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
炉霍县| 广丰县| 江口县| 舞阳县| 左贡县| 涞源县| 阜新市| 青铜峡市| 昌黎县| 益阳市| 咸阳市| 津市市| 桃江县| 岳西县| 乌拉特前旗| 葵青区| 旌德县| 巢湖市| 崇州市| 石泉县| 金秀| 海南省| 姚安县| 望都县| 翁牛特旗| 江城| 阿克苏市| 仙游县| 普格县| 高平市| 建宁县| 米泉市| 克山县| 陈巴尔虎旗| 仁寿县| 交城县| 宁南县| 垫江县| 黄平县| 盘山县| 临颍县|