Http(HyperText Transfer Protocol 超文本传输协议):
- 信息是明文传输的
- 连接简单,是无状态的
- 不安全(可以使用抓包工具进行抓包分析),但效率高
- 端口号为80
Https(Hyper Text Transfer Protocol over SecureSocket Layer 基于SSL的HTTP协议):
- ssl+ca证书进行传输(免费的证书很少,一般都需要收费,且费用很贵,也很难申请到)
- 非对称加密
- 证书加密
- 效率低,但安全性高
- 端口号为443
Https的工作原理:
- 客户端使用https的url请求与服务器端建立ssl连接
- 服务器端收到请求之后,将证书(包含公钥)传一份给客户端
- 客户端与服务器端协商ssl连接(信息加密)的安全等级
- 根据双方同意的安全等级,建立会话密钥
- 利用网站的公钥将密钥进行加密,生成密钥
- 客户端将密钥发送给服务器端
- 服务器端用自己的私钥解密出会话密钥
- 服务器端利用会话密钥加密的密文与客户端进行通信