Http协议
1、建⽴TCP连接;
2、发送HTTP请求;
3、服务器处理请求;
4、返回响应结果;
5、关闭TCP连接;
HTTPS协议
1、客户端请求SSL连接,并将⾃⼰⽀持的加密规则发给⽹站。
2、服务器端将⾃⼰的身份信息以证书形式发回给客户端。证书⾥
⾯包含了⽹站地址,加密公钥,以及证书的颁发机构。
3、获得证书后,客户要做以下⼯作
验证证书合法性
如果证书受信任,客户端会⽣成⼀串随机数的密码,并⽤证
书提供的公钥进⾏加密。
将加密好的随机数发给服务器。
4、获得到客户端发的加密了的随机数之后,服务器⽤⾃⼰的私钥
进⾏解密,得到这个随机数,把这个随机数作为对称加密的密钥。
(利⽤⾮对称加密传输对称加密的密钥)
5、之后服务器与客户之间就可以⽤随机数对各⾃的信息进⾏加
密,解密。注意的是:证书是⼀个公钥,这个公钥是进⾏加密⽤的。⽽私钥是
进⾏解密⽤的。公钥任何都知道,私钥只有⾃⼰知道。这是⾮对称
加密。
⽽对称加密就是钥匙只有⼀把,我们都知道。
之所以⽤到对称加密,是因为对称加密的速度更快。⽽⾮对称加密
的可靠性更⾼。
客户端请求—服务端发送证书(公钥)—客户端验证证书,并⽣成
随机数,通过公钥加密后发送给服务端—服务端⽤私钥解密出随机
数—对称加密传输数据。
HTTP与HTTPS的区别
1、HTTPS协议需要申请证书。
2、HTTP是明⽂传输;HTTPS使⽤的是具有安全性的SSL加密传输协议
3、HTTP端⼝是80;HTTPS端⼝号是443
4、HTTP连接简单⽆状态;HTTPS由SSL+HTTP协议构件的可进⾏
加密传输、身份验证的⽹络协议。