HTTP作为一个大规模使用的网络协议就真的安全了吗?
我们知道互联网为什么叫互联网,你可以在任何地方都可以与之相连,所以在这些可以连接的点上都可以获取互联网的部分信息。
那么HTTP通信时有什么缺点吗?
首先我们在用wireshark抓宝时可以看到报文的全部内容,因此HTTTP是不加密的,它的通信使用明文。
而且它也不会验证通信方的身份,所以可能遭遇伪装。
我们既然可以在中途进行抓宝,所以我们也可以将其篡改,所以在这一点HTTP报文是可以被篡改的。
我们之所以能用抓包工具看清楚HTTP报文中的一切,那就是因为他使用明文传输(即不加密)。
你可以在任何地方监听报文,相同局域网的客户端(C端攻击经常使用此手段),客户端与互联网之间,服务器与互联网之间,或者互联网之内,都可以进行监听。
问题的提出就是为了解决问题,所以人们发明了SSL(安全套接层)和TLS(安全传输层协议),这两个东西可以对HTTP的传输路线进行加密(只是传输路线而不是报文的内容)。
TLS是SSL的升级版,后者是前者的前身。
所以使用了SSL或TLS的HTTP就叫做HTTPS(超文本传输安全协议),HTTPS是在建立的加密通道内进行数据传输,但数据本身并未加密。
使用HTTPS的网站在它的URL上写着https:// 这点足以我们分清是否使用HTTPS
如:
在另一方面,为了保证相对安全,内容也可以进行加密,事实上是对报文主体进行加密,而报文头部没有,这在WEB服务器上经常使用,前提是客户端和服务端都要知道如何加密和解密。
但是这种方法并不是对通信线路进行加密(SSL和TSL对线路进行加密),所以当你知道如何解密和加密的时候,也可以篡改内容被加密的报文。
//本系列教程基于《图解HTTP》,此书国内各大购物网站皆可购买
转载请注明出处 by:M_ZPHr
最后修改日期:2019-04-05