HTTP的缺点与HTTPS
HTTP的缺点
虽然HTTP具有相当优秀和方便的一面,然而HTTP并非只有好的一面,它也是有不足之处的。
- 通信使用明文(不加密),内容可能会被窃听
- HTTP报文是使用明文方式发送的,而且通信不加密是tcp/ip协议族的工作机制,所以在服务器与客户端通信过程中,通信线路上某些网络设备、光缆、计算机、中转设备都有可能遭受恶意窥视。
- 例如:使用一些抓包工具(Packet capture)或者嗅探器(sniffer)
- 比如使用Wireshark可以获取HTTP协议的请求和响应的内容,并对其进行解析。
- 不验证通信方的身份,因此有可能遭遇伪装
- 任何人都可以发起请求,有可能遭受DOS/DDOS(拒绝服务攻击)
- 无法确定目标Web服务器,是否按照真实意图返回响应内容,有可能是已伪装的WE服务器
- 无法确定通信双方是否具备访问权限,Web服务器中的一些重要信息,应该只能发给特定用户
- 无法确定请求是出自谁手
- 无法证明报文的完整性,有可能遭受篡改
- 在请求或者响应发出后这段时间内,有可能数据包被篡改
- 可能遭受中间人攻击(MITM)
HTTPS
虽然HTTP协议没有加密机制,但可以通过SSL或者TLS的组合使用加密http的通信内容。
HTTPS = HTTP + 加密 + 认证 + 完整心保护
为了统一解决上诉问题,需要在HTTP上再加入加密处理和 认证等机制,这样就形成了HTTPS
在使用HTTPS通信时,不在使用http://而是使用https://
HTTPS的一些缺点:
- HTTPS要比HTTP慢2-100倍
- SSL通信慢、在进行加密处理时,占用更多服务器/客户端资源,负载强。
- 这也是为什么HTTPS那么安全可靠,但是并不是所有的web网站都在使用HTTPS