HTTP 和 HTTPS 理解
阿新 • • 發佈:2021-10-04
1. 首先 HTTP + 明文加密 + 身份驗證 + 資料完整性保護 = HTTPS【HTTP 協議 + SSL/TLS 協議】
2. HTTP 協議是用來客戶端和伺服器端進行通訊的協議,但其存在三個缺點:
【1】報文是明文傳送的,即沒有經過任何加密處理,在傳輸過程中可以被窺視到資訊,比如客戶端輸入了自己的身份證號或者信用卡密碼,那麼這些資訊在傳送到伺服器端的過程中,可能直接會被抓包解析被他人利用。
【2】客戶端和伺服器端的通訊沒有身份認證,也就是說,伺服器端收到的請求真的來自正確的客戶端嗎?客戶端收到的響應真的是希望請求的伺服器端發出的嗎?這些我們都無從而知,由此也導致了偽造客戶端身份和偽造伺服器端身份的問題。同時因為不需要驗證身份,所有人都可以向伺服器傳送請求,伺服器來者不拒,那麼可能會有海量請求下的 DOS 攻擊,造成伺服器崩潰。
【3】HTTP 不存在驗證資訊完整性的功能,因此如果有攻擊者在請求和響應過程中將請求和響應攔截,並篡改了請求或者響應內容,這些我們都無法探測到。因此最終客戶端和伺服器端得到的報文是否和發出時的一致,是否已經被篡改都是一個問題。
3. 為了解決 HTTP 的缺陷,提出了 HTTPS。