原文出處: 百度運維博客(@Baidu羅成)
HTTPS 目前唯一的問題就是它還沒有得到大規模應用,受到的關注和研究都比較少。至於使用成本和額外開銷,完全不用太過擔心。
一般來講,使用 HTTPS 前大家可能會非常關注如下問題:
- 證書費用以及更新維護。大家覺得申請證書很麻煩,證書也很貴,可是證書其實一點都不貴,便宜的一年幾十塊錢,最多也就幾百。而且現在也有了免費的 證書機構,比如著名的 mozilla 發起的免費證書項目:let’s encrypt(https://letsencrypt.org/)就支持免費證書安裝和自動更新。這個項目將於今年中旬投入正式使用。
數字證書的費用其實也不高,對於中小網站可以使用便宜甚至免費的數字證書服務(可能存在安全隱患),像著名的 verisign 公司的證書一般也就幾千到幾萬塊一年不等。當然如果公司對證書的需求比較大,定製性要求高,可以建立自己的 CA 站點,比如 google,能夠隨意簽發 google 相關證書。
- HTTPS 降低用戶訪問速度。HTTPS 對速度會有一定程度的降低,但是隻要經過合理優化和部署,HTTPS 對速度的影響完全可以接受。在很多場景下,HTTPS 速度完全不遜於 HTTP,如果使用 SPDY,HTTPS 的速度甚至還要比 HTTP 快。
大家現在使用百度 HTTPS 安全搜索,有感覺到慢嗎?
- HTTPS 消耗 CPU 資源,需要增加大量機器。前面介紹過非對稱密鑰交換,這是消耗 CPU 計算資源的大戶,此外,對稱加解密,也需要 CPU 的計算。
同樣地,只要合理優化,HTTPS 的機器成本也不會明顯增加。對於中小網站,完全不需要增加機器也能滿足性能需求。
6 後記
國外的大型互聯網公司很多已經啓用了全站 HTTPS,這也是未來互聯網的趨勢。國內的大型互聯網並沒有全站部署 HTTPS,只是在一些涉及賬戶或者交易的子頁面 / 子請求上啓用了 HTTPS。百度搜索首次全站部署 HTTPS,對國內互聯網的全站 HTTPS 進程必將有着巨大的推動作用。
目前互聯網上關於 HTTPS 的中文資料比較少,本文就着重介紹了 HTTPS 協議涉及到的重要知識點和平時不太容易理解的盲區,希望能對大家理解 HTTPS 協議有幫助。百度 HTTPS 性能優化涉及到大量內容,從前端頁面、後端架構、協議特性、加密算法、流量調度、架構和運維、安全等方面都做了大量工作。