價(jià)格: 電議
物流: 暫無物流地址| 買家支付運(yùn)費(fèi)
可銷售總量: 1000件
手機(jī): 0769-33392338 郵箱: wuzhiwei@dfwluo.com
傳真: 0769-85040180 地址: 廣東 東莞市
郵箱:
手機(jī):
大型網(wǎng)站的 HTTPS 實(shí)踐:基于協(xié)議和配置的優(yōu)化
百度在2015年即完成HTTPS改造,那大型網(wǎng)站的HTTPS改造中都有哪些實(shí)踐經(jīng)驗(yàn),學(xué)院君特分析這篇干貨滿滿系列內(nèi)容,轉(zhuǎn)自百度運(yùn)維博客。
1 前言
上文講到 HTTPS 對用戶訪問速度的影響。
本文就為大家介紹 HTTPS 在訪問速度,計(jì)算性能,安全等方面基于協(xié)議和配置的優(yōu)化。
2 HTTPS 訪問速度優(yōu)化
2.1 Tcp fast open
HTTPS 和 HTTP 使用 TCP 協(xié)議進(jìn)行傳輸,也就意味著必須通過三次握手建立 TCP 連接,但一個(gè) RTT 的時(shí)間內(nèi)只傳輸一個(gè) syn 包是不是太浪費(fèi)?能不能在 syn 包發(fā)出的同時(shí)捎上應(yīng)用層的數(shù)據(jù)?其實(shí)是可以的,這也是 tcp fast open 的思路,簡稱 TFO。具體原理可以參考 rfc7413。
遺憾的是 TFO 需要高版本內(nèi)核的支持,linux 從 3.7 以后支持 TFO,但是目前的 windows 系統(tǒng)還不支持 TFO,所以只能在公司內(nèi)部服務(wù)器之間發(fā)揮作用。
2.2 HSTS
前面提到過將用戶 HTTP 請求 302 跳轉(zhuǎn)到 HTTPS,這會(huì)有兩個(gè)影響:
1, 不安全,302 跳轉(zhuǎn)不僅暴露了用戶的訪問站點(diǎn),也很容易被中間者支持。
2, 降低訪問速度,302 跳轉(zhuǎn)不僅需要一個(gè) RTT,瀏覽器執(zhí)行跳轉(zhuǎn)也需要執(zhí)行時(shí)間。
由于 302 跳轉(zhuǎn)事實(shí)上是由瀏覽器觸發(fā)的,服務(wù)器無法完全控制,這個(gè)需求導(dǎo)致了 HSTS 的誕生:
Chrome, firefox, ie 都支持了 HSTS。
2.3 Session resume
Session resume 顧名思義就是復(fù)用 session,實(shí)現(xiàn)簡化握手。復(fù)用 session 的好處有兩個(gè):
1, 減少了 CPU 消耗,因?yàn)椴恍枰M(jìn)行非對稱密鑰交換的計(jì)算。
2, 提升訪問速度,不需要進(jìn)行完全握手階段二,節(jié)省了一個(gè) RTT 和計(jì)算耗時(shí)。
TLS 協(xié)議目前提供兩種機(jī)制實(shí)現(xiàn) session resume,分別介紹一下。
2.3.1 Session cache
Session cache 的原理是使用 client hello 中的 session id 查詢服務(wù)端的 session cache, 如果服務(wù)端有對應(yīng)的緩存,微信第三方開發(fā)公司,則直接使用已有的 session 信息提前完成握手,稱為簡化握手。
Session cache 有兩個(gè)缺點(diǎn):
1, 需要消耗服務(wù)端內(nèi)存來存儲(chǔ) session 內(nèi)容。
2, 目前的開源軟件包括 nginx,apache 只支持單機(jī)多進(jìn)程間共享緩存,不支持多機(jī)間分布式緩存,對于百度或者其他大型互聯(lián)網(wǎng)公司而言,單機(jī) session cache 幾乎沒有作用。
Session cache 也有一個(gè)非常大的優(yōu)點(diǎn):
1, session id 是 TLS 協(xié)議的標(biāo)準(zhǔn)字段,市面上的瀏覽器全部都支持 session cache。
百度通過對 TLS 握手協(xié)議及服務(wù)器端實(shí)現(xiàn)的優(yōu)化,已經(jīng)支持全局的 session cache,能夠明顯提升用戶的訪問速度,節(jié)省服務(wù)器計(jì)算資源。
2.3.2 Session ticket
上節(jié)提到了 session cache 的兩個(gè)缺點(diǎn),session ticket 能夠彌補(bǔ)這些不足。
Session ticket 的原理參考 RFC4507。簡述如下:
server 將 session 信息加密成 ticket 發(fā)送給瀏覽器,瀏覽器后續(xù)握手請求時(shí)會(huì)發(fā)送 ticket,server 端如果能成功解密和處理 ticket,就能完成簡化握手。
顯然,session ticket 的優(yōu)點(diǎn)是不需要服務(wù)端消耗大量資源來存儲(chǔ) session 內(nèi)容。
Session ticket 的缺點(diǎn):
1, session ticket 只是 TLS 協(xié)議的一個(gè)擴(kuò)展特性,目前的支持率不是很廣泛,只有 60% 左右。
2, session ticket 需要維護(hù)一個(gè)全局的 key 來加解密,需要考慮 KEY 的安全性和部署效率。
總體來講,session ticket 的功能特性明顯優(yōu)于 session cache。希望客戶端實(shí)現(xiàn)優(yōu)先支持 session ticket。
2.4 Ocsp stapling
Ocsp 全稱在線狀態(tài)檢查協(xié)議 (rfc6960),用來向 CA 站點(diǎn)查詢狀態(tài),比如是否撤銷。通常情況下,瀏覽器使用 OCSP 協(xié)議發(fā)起查詢請求,CA 返回狀態(tài)內(nèi)容,然后瀏覽器接受是否可信的狀態(tài)。
這個(gè)過程非常消耗時(shí)間,因?yàn)?CA 站點(diǎn)有可能在國外,網(wǎng)絡(luò)不穩(wěn)定,RTT 也比較大。那有沒有辦法不直接向 CA 站點(diǎn)請求 OCSP 內(nèi)容呢?ocsp stapling 就能實(shí)現(xiàn)這個(gè)功能。
詳細(xì)介紹參考 RFC6066 第 8 節(jié)。簡述原理就是瀏覽器發(fā)起 client hello 時(shí)會(huì)攜帶一個(gè) certificate status request 的擴(kuò)展,服務(wù)端看到這個(gè)擴(kuò)展后將 OCSP 內(nèi)容直接返回給瀏覽器,完成狀態(tài)檢查。
由于瀏覽器不需要直接向 CA 站點(diǎn)查詢狀態(tài),這個(gè)功能對訪問速度的提升非常明顯。







網(wǎng)站制作完成后,如何快速的被收錄
你的網(wǎng)站建設(shè)完成的剎那,你的腦海里肯定會(huì)掠過許許多多的念頭,而其中必定有一個(gè)想法就是迫不及待的想讓自己的網(wǎng)站快速的被搜索引擎收錄。只有被搜索引擎收錄之后,一個(gè)網(wǎng)站的作用才能得以慢慢的體現(xiàn)出來,否則網(wǎng)站將只能游離在互聯(lián)網(wǎng)用戶的視野之外,難以為大眾所熟知。下面是一些能使新站快速被搜索引擎收錄的方法。 1.如何讓網(wǎng)站被百度收錄,關(guān)于注冊域名空間這塊就不說了,備案當(dāng)然是好的,這一條就不廢話了。 2.關(guān)于網(wǎng)站如何快速收錄,不能過于太急切,當(dāng)網(wǎng)站能夠訪問后立即寫一個(gè)robots,robots寫法如下:既然要讓百度快速收錄為什么還讓大家立即寫個(gè)robots所有蜘蛛呢?這里確實(shí)是這樣沒有誤導(dǎo)大家,寫好robots當(dāng)然就可以立即上傳到ftp。 3.網(wǎng)站內(nèi)部構(gòu)架的分布以及導(dǎo)航的布局,將網(wǎng)站內(nèi)部全部搞定,在進(jìn)行多次檢查,看內(nèi)部是否有不合理的地方,以及瀏覽器是否兼容,內(nèi)部頁面欄目頁面是否存在死鏈接,借此還可以建立一個(gè)404頁面以及標(biāo)題描述的確定,如何分布等等一些細(xì)節(jié)問題。 4.內(nèi)部完善合理,覺得沒有太多地方需要再次修改后創(chuàng)建一個(gè)網(wǎng)站地圖,關(guān)于這一點(diǎn)后期有機(jī)會(huì)也會(huì)寫一篇相關(guān)的文章,完成這4個(gè)步驟以后大家就可以將前面寫的robots或者修改一下,改為自己要的頁面。 5.自己的新站在各大搜索引擎登陸口進(jìn)行提交,將自己的新站點(diǎn)在每個(gè)搜索引擎提交后基本當(dāng)天就可以收錄,提交地址大家百度一下就可以找到了,比較簡單這里就不多說了,如果實(shí)在有問題可以在文章下面給留言。 6.新站讓百度快速收錄需要去發(fā)外鏈引誘蜘蛛,去一些不錯(cuò)的網(wǎng)站論壇發(fā)文章發(fā)鏈接,權(quán)重高的地方蜘蛛一般都會(huì)經(jīng)常關(guān)注,發(fā)現(xiàn)你的網(wǎng)站地址就跟著進(jìn)入到你的網(wǎng)站爬行進(jìn)行收錄。 7.利用換友情鏈接來讓百度進(jìn)行爬行收錄,需要微信第三方開發(fā)嗎,這個(gè)就需要大家花時(shí)間跟一些經(jīng)常更新的網(wǎng)站換鏈接,這個(gè)就需要大家主動(dòng)去尋找了,一般新站是不怎么好換鏈接,微信第三方開發(fā)企業(yè),當(dāng)然你有大把的人脈那樣還是相對簡單的,再就是你有大把的網(wǎng)站資源,微信第三方開發(fā),這些就不用擔(dān)心了,你所要做的只是感謝一下和你換鏈接的朋友對博客的支持。 做好以上七步之后,你所要做的就是堅(jiān)持和等待了。堅(jiān)持的是每天高質(zhì)量的內(nèi)容更新,等待的則是為網(wǎng)站被搜索引擎收錄那天倒數(shù)計(jì)時(shí)。
注冊資金:人民幣壹佰萬元
聯(lián)系人:吳志威
固話:13480047186
移動(dòng)手機(jī):0769-33392338
企業(yè)地址:廣東 東莞市 東莞市