首先要知道,http是目前使用最为广泛的应用层协议,但它存在以下几个缺点:
窃听、篡改、冒充。
1. 请求信息都是明文传输,很容易被窃听
2. 数据的完整性不能校验,容易被篡改
3. 没有验证对方身份,存在冒充风险。
而https则是在应用层和网络层中间加入了SSL/TLS层,用于校验服务器身份,并且对C/S两端通信的内容进行加密,https的默认端口号是443(http为80)。
SSL(Safe socket layer)安全套接字层,TLS(tranport layer security)传输层安全
https传输过程:
1. 首先client通过url访问服务器建立了ssl连接
2. server收到了client的请求,会返回一份支持的证书信息给client。
3. client收到了服务器的信息后,开始与server协商ssl的安全等级,即信息加密的等级
4. client的浏览器根据双方协商的结果,利用server的公钥对会话密钥