HTTPS原理简单的来说就是:HTTP + SSL
HTTP协议自不用说,而SSL指的就是网站的证书
SSL证书有什么用?
通过该证书,我们就可以知道我们网站是否是钓鱼网站,或者是仿冒网站
举个例子
比如说我们访问百度,可以看到百度采用的协议是HTTPS协议,同时加了一把锁
点击这把锁就可以发现相关的证书信息
关于该证书
后面问题就来了,我们的浏览器是怎么知道这个证书的是安全的?
具体的原理如下
首先百度的证书是这样的:
我们这边通过手动走一遍流程
首先我们通过certmgr.msc 打开证书管理器
中级证书颁发机构–>证书中查出GlobalSign…CA…G2,发现果然有
由于证书中心中的内容不能被用户修改,所以可以认为该认证没有问题
而且有证书说明该网站是在 数字证书颁发机构CA验证过服务器身份和地址,所以可以信任该网站
当服务器的正身验明之后,下一步自然是通讯,而HTTPS的通讯比HTTP加了一层密就更安全
以上就是HTTPS的原理,当然真正的HTTPS的原理实际上更为复杂,如下图
其中服务器核对握手信息的核心就是:
比对握手信息后的Hash码,由于对称算法和Hash算法是之前浏览器和服务器已经商量好的,所以肯定能够解析出来,如果不能解析出来,那只能说明信息可能被篡改了