WeTest導(dǎo)讀
自從去年QQ空間移動端頁面開始切換到HTTPS之后,頁面性能遇到了比較大的挑戰(zhàn),HTTPS對頁面訪問速度帶來了比較大的影響,所以我們通過實踐總結(jié)了一些能夠提升HTTPS頁面訪問速度的方法,這些數(shù)據(jù)都是我們和STGW的同事反復(fù)實驗、多次分析所得到的,希望能夠減少大家對于全站啟用HTTPS的顧慮。我們的目的是,在不影響用戶體驗的情況下,竭盡全力保護(hù)用戶的信息安全!
頁面在切到HTTPS之前,iOS的訪問速度約為1795ms,切到HTTPS之后,iOS的訪問速度直接飆到2630ms,我的天吶,上漲了900ms,接近50%,嚇得我趕緊把入口又切回了HTTP。之后,便開始踏上了提升HTTPS訪問速度的道路。(文章里的數(shù)據(jù)以iOS為例,訪問速度指的是頁面html開始請求到頁面js執(zhí)行完畢的耗時)。先簡單以圖示總結(jié)下我們優(yōu)化的結(jié)論:
使用SPDY協(xié)議是我們優(yōu)化的第一步,SPDY(speedy)是Google很早就提出的協(xié)議,通過多路復(fù)用、請求優(yōu)先級以及HTTP報頭壓縮,來提升頁面的訪問速度。但是公司貌似沒有一個統(tǒng)一的平臺支持SPDY,在尋求了TEG小伙伴的幫助之后,他們首次支持了SPDY。SPDY在iOS的兼容性比較好,iOS 8.0以上的safari和webview都支持,覆蓋了Qzone 85%以上的iOS用戶。所以決定開啟HTTPS+SPDY試試效果。開啟SPDY之后的頁面訪問速度提升了370ms,已經(jīng)非常不錯了。(在SPDY的兼容性上,iOS大部分都支持了,而安卓tbs內(nèi)核支持SPDY的版本也正在灰度當(dāng)中,全量之后預(yù)計也能覆蓋80%的Qzone用戶。)
根據(jù)第一次SPDY的嘗試,HTTPS的訪問速度有了300多毫秒的提升,但跟HTTP相比差距還是有400ms的差距,分析了一下,這400ms的差距主要是來自于SSL握手的耗時,根據(jù)SPDY協(xié)議,每個域名建立一個TCP連接,各自要進(jìn)行一次SSL握手,每次耗時約200ms,頁面一共有兩個關(guān)鍵域名,所以HTTPS+SPDY一共比HTTP慢了400ms。根據(jù)這個分析結(jié)果,我們也有了進(jìn)一步的優(yōu)化方向,那就是減少SSL的耗時。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26