https使用443端口。
因为HTTP是明文传输,所以会很有可能产生中间人攻击(获取并篡改传输在客户端及服务端的信息并不被人发觉),HTTPS加密应运而生。
加密就是把 明文 (要传输的信息)进行一系列变换, 生成 密文;解密就是把 密文 再进行一系列变换, 还原成 明文 ;在这个加密和解密的过程中, 往往需要一个或者多个中间的数据, 辅助进行这个过程, 这样的数据称为密钥。
对称密钥:一对密钥,加密密钥和解密密钥
非对称密钥:公钥和私钥
公钥和私钥是配对的. 最大的缺点就是运算速度非常慢,比对称加密要慢很多.
客户端和服务器加密通信流程:
1.服务器先生成一对非对称密钥,公钥和私钥,其将公钥进行公开,客户端接收到服务器的公钥后,用该公钥进行对客户端自己的对称密钥加密,将其传输给服务器。
2.服务器就获取了客户端的对称密钥,并且使用这个对称密钥加密给客户端返回的响应数据。
3.后续客户端和服务器的通信都只用对称密钥加密。
核心思想:靠非对称密钥进行第一次传输,服务器获得客户端的对称密钥,之后双方进行对称加密传输。