為什么我們要使用HTTPS協議?
21CTO社區導讀:
當Google推出新技術屬性時,互聯網會被其改變。 當它宣布使用SSL/HTTPS協議的網站在搜索結果 中會被首選時,那么在Google覆蓋的網站一定會有所改變。
Web開發里面有幾個通信協議,針對于最終用戶講最常見的還是HTTP和HTTPS協議。今天就來說一說,希望大家有用。
什么是『協議』
在說HTTP和HTTPS之前,我們先一起談談“協議”這個詞。
協議是用來描述特定目的的一系列的規則,在當前的語境下,規則用來規范通信,類似于人產之間彼此交流的方式。
舉個栗子,在國內電視臺播報新聞,因為講的是漢語,大家都是中國人嘛,所以都能聽懂。接著把新聞放給美國人看,他們講英語,這樣就聽不明白了。。協議就是制定雙方都同意和遵守的通信規則,這樣雙方才能聽得懂。
什么是HTTP
HTTP是超文本傳輸協議,用來定義發送與接收文本消息的規則。計算機工作在二進制編碼,因此,用1和0來構建一個數字世界。
比如,我用0代表A,1代表B,01代表C,這樣就可以組合起來構造成一個單詞。計算機有不同數據格式,二進制,文本和一些其它格式,如計算機語言的字節碼。在HTTP協議里,傳輸的是純文本,這些文本被瀏覽器解析,被解析的時候,它就成了一種標簽語言超文本,傳輸超文本的規則即被稱為HTTP協議。用HTTP可以傳輸圖片,文字以及聲音、視頻等數據。
比如你現在在機場,通過第三方的Wifi上網,我們使用HTTP協議傳輸數據,其實所有通訊都是以純文本形式傳輸的,如果是一個較老的路由,別人可以輕松查看到正在傳輸的數據。如果在登錄銀行網站,就有可能被提取到帳戶密碼,也可以被轉移到釣魚網站。請看下圖:
因此我們說,HTTP是嚴重不安全的協議。
什么是HTTPS
二戰時期,無線電通訊是可以被截獲的(是不是和HTTP協議有點很像),后來美軍在太平洋戰場發起的所有行動,使用了說納瓦霍語的土著人來做無線電情報的收發工作。因為納瓦霍語極其復雜,加上軍方對字表意的處理,即使被日本人截獲到也無計可施,無法破譯。
由于HTTPS安裝配置復雜,還需要有第3方認證證書,需要付費等原因,發展相對較晚。除了網上銀行應用普及,到如今已經是每個網站的必備技術棧。另外,Google,Apple,非死book等已經完全支持HTTPS,甚至支持HTTP 2.0。
除了Google,蘋果已明令所有上架App在今年1月都要支持HTTPS,否則無法提交。另Chrome瀏覽器從v54版本開始,在網址輸入框中加上了感嘆號的提示,告訴瀏覽者當前網站是否安全。凡是登錄和有收集用戶數據的行為,Chrome都會提示當前網站并不安全。一些網站雖然用了HTTPS,但是證書是sha1算法,加密強度不足,Chrome也會提示。
HTTPS使用幾種加密算法和加密級別,如128位,64位加密。當使用HTTPS通道傳輸數據時,中間人仍有機會看到正在傳輸的數據,但已加密混淆無法看明白,只有到達瀏覽器端才能被解密顯示。
當發起對HTTP協議的URL請求時會發生什么?
第一步,它是HTTP的工作找到服務器,一旦通信路由建立,服務器發送文本到瀏覽器。此文本可以是純形式或加密形式,然后由瀏覽器呈現或用于任何目的。
為了確定加密消息要解密有多難,可以查看比特數。數字越高,解密就越困難。但是它只是增加了混淆的復雜性,使得它很難解密,但也不是不可能解密的。
HTTPS讓人更有安全感,比如要搜索“SSL證書”,該搜索其實是個人的隱私,無論是購物還是閱讀文章,大家通常都不希望別人知道自己干了什么。
當然,有些事情我們無所謂是否是加密傳輸,這一部分完全可以再使用HTTP。對于個人隱私類,銀行,財務等信息,HTTPS是必須要用的。
HTTPS的優缺點
HTTPS似乎聽起來都是鮮花,然后保證隱私是有代價的。HTTPS有以下幾個缺點:
HTTPS請求需要更多的時間來解密處理,需要服務器更高的硬件,如CPU,內存,需要點額外的成本。
HTTPS在沒有經過性能優化時,比HTTP要慢一倍打底褲。有一個網站,可以做一番比較:http://www.httpvshttps.com/
以下是關于HTTPS的一些常見想法:
-
我的網站沒有交易,不需要使用HTTPS協議
-
SSL證書很貴
-
從HTTP遷移到HTTPS協議會嚴重影響性能
網站沒有交易也需要使用HTTPS,可避免被注入等攻擊。另外,HTTPS是可以進行優化的,優化后性能也不錯。購買SSL證書會增加一些成本,但收獲用戶的信任與安全,與我們的隱私相比,價值會更大。
來自:https://mp.weixin.qq.com/s/Fn8YLmnzheaMsbHUNX3c6g