HTTP 的缺點
明文(不加密),內容易被竊聽
不驗證通信方身份,有可能遭遇僞裝
無法證明報文的完整性,可能遭遇中途篡改
這些問題不僅出現在
HTTP
上,在其他未加密的協議上也存在這類問題
針對明文的情況
通信加密
通過 TLS: 傳輸層安全協議(Transport Layer Security)
及其前身SSL:安全套接層(Secure Sockets Layer)
使用SSL
建立安全通信線路之後,就可以在這條線路上進行 HTTP
通信了.
內容加密
要求
客戶端
和服務器
同時具備加密和解密機制.內容仍有被篡改的風險
針對可能遭遇僞裝的情況
使用SSL建立連接,通過值得信賴的第三方來驗證.
針對中途篡改的情況
爲了防止
中間人攻擊
,通常使用MD5
和SHA-1
校驗的方式,但並不便捷,可靠.
HTTPS
HTTP+ 加密 + 認證 + 完整性保護 =HTTPS
HTTPS
並非是應用層的一種新協議。只是普通HTTP
通信接口部分用SSL和TLS協議
替代而已SSL
是獨立於HTTP
的協議,其他運行在應用層的SMTP
和Telnet
等協議均可配合SSL
協議使用
SSL位於 應用層
和 傳輸層
之間,
HTTPS 是身披 SSL 外殼的 HTTP
自由認證機構辦法的證書叫做:
自簽名證書
SSL問題
HTTPS 與 HTTP 相比,網路負載可能會 慢2 到 100 倍
.HTTPS的慢分爲兩種:
1 . 通信慢
2. 大量消耗 CPU 及內存,導致慢