由于HTTPS協(xié)議是由HTTP協(xié)議加上SSL/TLS協(xié)議組合而成,在閱讀本文前可以先閱讀一下HTTP服務(wù)器SSL/TLS兩篇博文,本文中的代碼也是由這兩篇博文中的代碼組合而成。

HTTPS介紹

上一篇博文中介紹了SSL/TLS協(xié)議,我們平時接觸最多的SSL/TLS協(xié)議的應(yīng)用就是HTTPS協(xié)議了,現(xiàn)在可以看到越來越多的網(wǎng)站已經(jīng)是https開頭了,百度搜索也由曾經(jīng)的http改為https。有關(guān)百度為什么升級https推薦閱讀:http://zhanzhang.baidu.com/wiki/383

HTTPS即HTTP over SSL,實際上就是在原來HTTP協(xié)議的底層加入了SSL/TLS協(xié)議層,使得客戶端(例如瀏覽器)與服務(wù)器之間的通信加密傳輸,攻擊者無法竊聽和篡改。相對而言HTTP協(xié)議則是明文傳輸,安全性并不高。

HTTPS主要可以避免以下幾個安全問題:

  1. 竊聽隱私:使用明文傳輸?shù)腍TTP協(xié)議,傳輸過程中的信息都可能會被攻擊者竊取到,例如你登錄網(wǎng)站的用戶名和密碼、在電商的購買記錄、搜索記錄等,這就會造成例如賬號被盜、各種隱私泄漏的風(fēng)險。而使用HTTPS對通信內(nèi)容加密過后,即使被攻擊者竊取到也無法破解其中的內(nèi)容。

  2. 篡改內(nèi)容:HTTP使用明文傳輸,不但消息會被竊取,還可能被篡改,例如常見的運營HTTP商劫持。你是否曾經(jīng)瀏覽http協(xié)議的百度時,時不時會在頁面下方彈出小廣告,這些小廣告并不是百度放上去的,而是電信網(wǎng)通等運營商干的,運營商通過篡改服務(wù)器返回的頁面內(nèi)容,加入一段HTML代碼就可以輕松實現(xiàn)小廣告。而使用HTTPS的百度,就不再會出現(xiàn)這樣的小廣告,因為攻擊者無法對傳輸內(nèi)容解密和加密,就無法篡改。

    網(wǎng)友評論