HTTP和HTTPS的区别
HTTP读解
http: 超文本编辑器,用于web浏览器和服务器传输,传输方式以明文的形式,简单快速,无连接,无状态,灵活。不提供任何的加密方式方法。
不利于传输银行卡,密码等一些敏感信息
HTTPS读解
https: 加密传输,在http上增加SSL证书(Secure Socket layer)。
CA证书需要申请,免费的证书比较少
HTTP的传输原理
1. web浏览器发送建立连接请求给服务器
2. 服务器与浏览器建立请求
3. 浏览器发送数据包给服务器
4. 服务器接受数据包,处理之后通过HTTP形式返回给客户端
HTTPS请求原理
1. 浏览器将自己支持的一套加密规则发给网站
2. 网站从中选择一种加密方法,以证书的形式发送给浏览器。(证书中包含:网站连接,加密公钥,以及证书颁发机构等信息)
3. 浏览器接收网站发来的证书进行合法校验(校验证书的合法性,连接地址,证书信息是否一致)
4. 如果浏览器信任或者用户接受信任,浏览器会生成一串随机数密码进行加密
5. 通过加密的随机字符串+一段加密的握手信息发给网站
6. 网站接受到信息会做如下操作
6.1 通过私钥解密出密码
6.2 通过密码解密出握手信息
6.3 使用密码在加密一段握手信息发送给浏览器
7 浏览器解密并计算握手信息的hash是否一致,如果一致握手成功
HTTP和HTTPS区别
HTTP : 不需要证书,HTTPS需要
HTTP : 超文本传输,不加密 HTTPS: ssl证书加密传输
HTTP : 默认端口80 HTTPS: 默认端口443
HTTP : 不安全,HTTPS: 安全