HTTP的缺点
1、通信使用明文(不加密),内容可能会被窃听 2、不验证通信方的身份,因此有可能遭遇伪装 3、无法证明报文的完整性,所以有可能已遭篡改 这些问题不仅在 HTTP 上出现,其他未加密的协议中也会存在这类问题
决解方法
加密处理防止被窃听
1、通信加密
HTTP没有加密机制,但是可以通过和SSL(Secure Socket Layer安全套接层)或则是TLS(Transport layer Security安全层传输协议)组合使用,加密HTTP的通信内容HTTP+SSL = HTTPS HTTP+加密+证书+报文完整性 = HTTPs
2、内容的加密
即把HTTP报文里所含的内容进行加密处理
不验证通信方的身份就可能遭遇伪装
任何人都可以发起请求
解决方式:查明对手的证书,使用SSL,不仅可以提供加密处理,而且还使用了一种被称为证书的手段,可用于确定身份。
证书由值得信赖的第三方机构颁发,用以证明服务器和客户端是实际存在的。
无法证明报文的完整性,可能已遭篡改
报文完整性,是指信息的准确度。
导致的后果:
1、接受到的内容可能由误
像这样,请求或者响应在传输途中,遭攻击者拦截并篡改内容的攻击称为中间人攻击
如何防止篡改
1、MD5
2、SHA-1
3、PGP数字签名
这些办法也不能保证100%有效,应为PGP和MD5本身被篡改,用户也是无感知的