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 及内存,导致慢