Http和Https区别
http就是我们所说的从好文本传输协议,这个协议是用一种铭文的方式发送我们的内容,没有任何的加密,比如说我们访问了一个网站,在这个网站登入账号,那么我们的登入信息就会发送到这个网站的服务器上面,但是有人要是再中途截取了我们的信息,那么我们比较重要的信息就能暴力,所以为了解决http不加密的问题之后就增加了一个SSL协议,这个协议就是提供一个数据安全和完整性的协议,也就是负责网络连接的加密。
比如我们访问一个https网站,那我们的电脑就会和服务器建立一个安全的连接通道,
1.首先客户端会把自己支持的TLS版本还有加密套件和第一位随机数发送给服务端
2.服务端确认支持的TLS版本还有加密套件并且生成第二位随机数发送给客户端。
3.接着服务端把证书和公钥发送给客户端,都发送完毕就告诉和客户端
4.客户端会生成第三个随机数,这个随机数叫预主密钥,这个预主密钥用刚才接收到的公钥加密发送出去
5.服务端收到了加密的预主密钥之后会用自己的私钥进行解密这样服务器就知道预主密钥了
6.接下来客户端和服务端都用第一随机数第二随机数和预主密钥计算出会话密钥
上述所有的步骤都是非对称加密为了得出会话密钥,后面的步骤都是对称加密,这么做的原因是非对称加密很消耗资源,每个会话的会话密钥都是不相同的。