HTTP与HTPPS区别:

 

HTTP:

超文本传输协议。

客户端和服务器端传递的是明文的消息。

采用80端口。

 

 

HTTPS:

安全套接字层超文本传输协议HTTP+SSL。

将明文进行加密后再在客户端和服务器之前进行传递。

采用443端口。

需要申请证书。

 

 

HTTPS采用非对称加密和对称加密两种加密方式来保证传输信息的安全性:

非对称加密:用公钥和私钥来加解密(有同学这里不懂的话可以看看资料)。

对称加密:加密解密都用同一套秘钥。

注:非对称加密更加安全,对称加密速度更快。

 

 

 

https的请求流程:

  1. 客户端(浏览器)向服务器请求https连接。
  2. 服务器返回证书到浏览器,浏览器通过查询内置的证书找到该网站的公钥
  3. 客户端产生随机秘钥A(用于对称加密)
  4. 客户端使用公钥对A进行加密
  5. 客户端将加密A后的密文发送给服务器
  6. 服务器通过私钥对密文进行解密得到对称加密的秘钥
  7. 客户端开始与服务器进行对称秘钥加密的通信。