前言#
- http 与 https 都是网络传输协议,其中 http 是超文本传输协议,https 是基于 SSL/TLS 协议的超文本传输协议。SSL/TLS 是安全认证协议。http 加上 ssl/TLS 作用是防止钓鱼和加密。
https#
- 防止钓鱼,保证服务端不被冒充,使用 https 时候,客户端从服务端下载证书,然后对证书进行 CA 认证,可以确认服务器身份。
- 加密,身份确定后,证书中有公钥,服务器有私钥。公钥私钥完成加密,保证了数据的安全。
https 和 http 的区别#
认证的区别(https 需要证书)
连接的区别 (https 是有状态的)
用的端口区别(https 端口是 443,http 是 80)
https 数据加密#
当客户端接收了从服务端发送而来的数字证书,进行计算验证后发现证书没有问题,说明这个公钥是服务器发送的,从证书中获取服务端的公钥,就可以和服务器进行加密通信了。但是非对称加解密太耗费时间,因此客户端会发送一个对称密钥给服务端,由于这个密钥使用了公钥进行加密,只有服务端才能解开得到,往后服务端和客户端可以通过这个对称密钥进行高效的安全通讯。(身份非对称加密,真正数据对称加密)证书的配置需要在nginx上进行配置。
https 证书的申请#
服务器提供商可以申请,阿里云,腾讯云,需要与域名的匹配。
https抓包#
代理工具如mac如青花瓷,可进行抓包,抓到的数据如果再次加密了,基本无法解开。