初识HTTP协议(七)

这一次讲一下HTTP协议的缺点。

(一)安全性

HTTP协议中有可能存在信息窃听或身份伪装等安全问题,比如爬虫就可以伪装成浏览器来

进行数据爬取。

HTTP协议主要有下列一些缺点:

1.通信使用明文(不加密),内容可能会被窃听

2.不验证通信方的身份,因此有可能遭遇伪装

3.无法证明报文的完整性,所以有可能已遭篡改

什么是明文呢,明文就是未经加密的报文。当然了不是加密了报文信息就不会被看见了,

比如加密后是123,未加密是我爱你。加密后我们看到的就是123。

(1.1)加密

1.如何加密

通信的加密:

HTTP协议是没有加密机制的,但可以通过SSL或者TLS的组合使用来加密HTTP的通信内容。

用SSL建立安全通信线路后,就可以在这条线路上进行HTTP通信了,与HTTP组合使用的

HTTP被称为HTTPS(HTTP Secure,超文本传输安全协议)

内容的加密

只对传输的内容本身加密,这种方式不同于SSL或者TLS将整个通信线路加密处理,‘’

所以内容仍有被篡改的风险。

(1.2)不验证通信方的身份就可能遭遇伪装

也就是说如果对方是伪装成服务器,那么你的信息也许会被窃取。

同理,我们还可以伪装成浏览器去获取服务器的资源。

所以HTTP没办法确认通信方到底是不是我们所想的那个,但是SSL可以,

SSL不仅可以提供加密处理,而且还使用了一种被称为证书的手段用于确定方。

(1.3)HTTP无法证明报文完整性,可能已经遭篡改

比如你在请求或者响应过程中可能会遭遇篡改,导致请求信息或者响应信息前后不一致,

但即使被篡改了,HTTP也没办法确认是否被篡改。这种被篡改的行为叫中间人攻击

(Man-in-the-Middle attack,MITM)

(二)SSL

SSL采用一种叫做公开密钥加密的加密处理方式。

加密和解密同用一个密钥的方式称为共享密钥加密(这个我也不懂,真的,我看到眼睛都花了)

(三)为什么不一直使用HTTPS

HTTPS是安全可靠的,但是与纯文本通信相比,加密通信会消耗更多的CPU及内存资源,

如果每次通信都加密,会消耗掉相当多的资源,平摊到每台计算机上,能够处理的请求数量

必定也会减少。

因此使用HTTPS的时候看情况,一般就用HTTP就好了。

而且要用HTTPS通信就要买证书,这也要钱的。


下一章再讲讲身份认证。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值