許多小白站長對于http和https之間的關(guān)系搞不清楚,從而產(chǎn)生疑惑,為什么我需要申請ssl證書?升級為https不行嗎?http需要申請ssl證書嗎?讓snca來給分析一下為什么現(xiàn)在的站點(diǎn)都需要https。
http是什么?
HTTP超文本傳輸協(xié)議是一個簡單的請求-響應(yīng)協(xié)議,在TCP上運(yùn)行。它指定了客戶端可能發(fā)送給服務(wù)器什么消息以及得到什么樣的響應(yīng)。規(guī)定WWW服務(wù)器與瀏覽器之間信息傳遞規(guī)范。
HTTP是基于客戶/服務(wù)器模式,且面向連接的。典型的HTTP事務(wù)處理有如下的過程:
(1)客戶與服務(wù)器建立連接;(一次性連接)
(2)客戶向服務(wù)器提出請求;
(3)服務(wù)器接受請求,并根據(jù)請求返回相應(yīng)的文件作為應(yīng)答;
(4)客戶與服務(wù)器關(guān)閉連接。
HTTP是一個客戶端和服務(wù)器端請求和應(yīng)答的標(biāo)準(zhǔn)。通過HTTP協(xié)議,可以使得信息傳遞和回復(fù)具有同一性,因此,當(dāng)一個與服務(wù)器建立連接的設(shè)備向服務(wù)器發(fā)送請求后,服務(wù)器可以快速準(zhǔn)確的做出響應(yīng)。所以,一般將HTTP報(bào)文分為請求報(bào)文及應(yīng)答報(bào)文,其中請報(bào)文含有用戶向服務(wù)器請求數(shù)據(jù)的地址以及所要提交的數(shù)據(jù),此部分?jǐn)?shù)據(jù)較為敏感。
HTTP在最初的使用中表現(xiàn)還不錯,那時(shí)網(wǎng)頁內(nèi)容與排版簡單與單一,幾乎沒有用戶交互的場景。但是互聯(lián)網(wǎng)的發(fā)展以及web2.0的誕生,網(wǎng)頁內(nèi)容與排版越來越精美與豐富,更多的JS交互等被用于網(wǎng)頁,那么對于服務(wù)器的請求數(shù)量也在不斷增加,HTTP就有些力不從心。
尤其是許多網(wǎng)站要求用戶實(shí)名認(rèn)證,但是釣魚網(wǎng)站、網(wǎng)站劫持層出不窮,這使得網(wǎng)絡(luò)中關(guān)于用戶的數(shù)據(jù)越來越敏感,網(wǎng)絡(luò)安全就需要提上日程了。
2017年6月1日《網(wǎng)絡(luò)安全法》實(shí)施,它規(guī)定了網(wǎng)絡(luò)運(yùn)營者在網(wǎng)絡(luò)安全方面的義務(wù):應(yīng)采取防范計(jì)算機(jī)病毒和網(wǎng)絡(luò)攻擊,網(wǎng)絡(luò)侵入等危害網(wǎng)絡(luò)安全行為的技術(shù)支持。
HTTP協(xié)議規(guī)定的數(shù)據(jù)請求方法有GET. HEAD. POST. PUT.DELETE. TRACE. CONNECT等,其中GET是用來從服務(wù)器上獲得數(shù)據(jù)的,而POST是用來向服務(wù)器傳遞數(shù)據(jù)的。常見的登錄、注冊場景就采用POST方法來提交數(shù)據(jù)。在POST方法下,提交的內(nèi)容會在報(bào)文負(fù)載中,以明文形式存在,在GET方法下,提交的內(nèi)容在報(bào)文頭中的URI里。數(shù)據(jù)抓包可以看到一些登錄場景用戶輸入的賬號密碼,很可怕的是,很多人會在不同的網(wǎng)站上使用相同賬號密碼來方便記憶。(怎么感覺在點(diǎn)名自己,因?yàn)槊艽a實(shí)在多,且不容易記憶,就一個密碼走天下。)
如何規(guī)避類似的網(wǎng)絡(luò)安全風(fēng)險(xiǎn)?
需要網(wǎng)絡(luò)運(yùn)營者加強(qiáng)安全防范系統(tǒng)的部署應(yīng)用-部署https加密傳輸協(xié)議
需要用戶能夠時(shí)刻保持警惕,盡量在不同平臺用不同的密碼,且定期更改密碼