http和https的区别
对称加密和非对称加密的区别
对称加密指采用一个密钥进行加密解密,优点是运算速度比较快,常见的算法有DES和AES;
非对称加密指加密和解密使用不同的密钥,也称为公钥和私钥,公钥和私钥是成对存在,如果通过公钥进行加密,那只有对应的私钥才能解密,反之,如果采用私钥加密,那么只有对应的公钥才能解密(非对称加密的目的是得到会话秘钥,会话秘钥的目的是用来在未来进行通讯的时候用来加密报文的),常见的非对称算法有RSA。在日常的企业级开发中在内部进行通信的时候,一般很少会采用RSA这样的非对称加密算法,因为非对称加密算法会带来一定的性能上的开销,所以对于非对称加密这种场景来说,一般是跟外部的系统对接的时候为了保证数据传输的安全性而使用的。
三次握手
第一次:客户端向服务端发送请求,服务端接收到之后,能够确认自己的接收是正常以及对方的发送是正常;
第二次:服务端向客户端发送请求,客户端接收到请求,它肯定知道自己第一次我收的时候,自己的发送是正常,然后自己能够接收到服务器端发送的信息,那么自己接收也是正常的,服务端既然收到了能给自己发消息,那么对方的发送接收也是正常的,服务端依然会像第一次握手那样,只能够确认自己的接收是正常的,对方发送时正常的;
第三次:客户端和服务端才能够彼此确认自己的发送还有对方的发送接收都是正常的。
通俗理解
四次挥手
为什么进行四次挥手?
第一次挥手:就是相当于客户端向服务端去说,我没什么要说的了,我想要去断开连接;
第二次挥手:服务端接收到客户端的这个消息,回复客户端说我已经知道了,但是服务端可能之前发送的数据还没有发完,不能跟着客户端的节奏继续 ,就是不能让说停就停;
第三次挥手:服务端需要发送一会数据,发送完了之后,服务端才向客户端说,我才能正式的去断开连接了;
最后一次挥手:客户端向服务端说,好我已经知道了,这样通话才算正式结束。
通俗理解