今天我们来说下http和https的安全性,众所周知http是不安全的,它可以被中间人攻击篡改我们发送的和获取到的内容,那么https就可以防止中间人攻击,是安全的,那么就要说说他们两个的区别了。

首先,HTTP是协议中的报文都是以明文的方式进行传输的,不做任何加密,这样就有一个角色登场了,那就是中间人。我举个例子,比如说A正在给服务器发送一个消息aaa,那么在传输协议的过程中aaa可能会被截获,然后把aaa改成了bbb,然后服务器就接受到了bbb这个信息,这种情况就叫做中间人攻击,所以说中间人能看到并且修改 HTTP 通讯中所有的请求和响应内容,所以使用 HTTP 是非常的不安全的。

那么HTTPS是如何防止中间人攻击的呢?我们首先要知道HTTPS是什么?就是SSL+HTTP的简称,那么关键就是SSL这个东西,其实SSL协议采用的就是非对称加密和对称加密。在握手的过程中采用非对称加密主要也是为了交换秘钥,然后再通讯过程中使用对称加密进行通讯。这里如果不知道非对称加密和对称加密的朋友可以自行去了解一下,这么不在赘述了。HTTPS原理其实就是服务器通过 SSL 证书来传递公钥,客户端会对 SSL 证书进行验证,其中证书认证体系就是确保SSL安全的关键。