【07-03】3.http和https的通信过程及区别
1.HTTP的通讯过程
HTTP是标准的Client/Server交互模型,客户端(Client)发起,服务端(Server)响应。
1.使用DNS解析域名为IP地址
2.建立TCP请求,进行三次握手
3.浏览器发送请求
4.服务器响应浏览器,向浏览器发送数据
5.通讯完成,TCP链接关闭
2.HTTPS的通讯过程
https通讯建立在SSL链接层之上的请求和响应
通讯过程:
1. 客户端发起HTTPS请求
用户在浏览器里输入一个https网址,然后连接到服务器的443端口
2. 服务端的配置
采用HTTPS协议的服务器必须要有一套数字证书,可以自己制作,也可以向组织申请。区别就是自己颁发的证书需要客户端验证通过,才可以继续访问,而使用受信任的公司申请的证书则不会弹出提示页面。这套证书其实就是一对公钥和私钥
3. 传送服务器的证书给客户端
证书里其实就是公钥,并且还包含了很多信息,如证书的颁发机构,过期时间等等
4. 客户端解析验证服务器证书
这部分工作是由客户端的TLS来完成的,首先会验证公钥是否有效,比如:颁发机构,过期时间等等,如果发现异常,则会弹出一个警告框,提示证书存在问题。如果证书没有问题,那么就生成一个随机值。然后用证书中公钥对该随机值进行非对称加密
5. 客户端将加密信息传送服务器
这部分传送的是用证书加密后的随机值,目的就是让服务端得到这个随机值,以后客户端和服务端的通信就可以通过这个随机值来进行加密解密了
6. 服务端解密信息
服务端将客户端发送过来的加密信息用服务器私钥解密后,得到了客户端传过来的随机值
7. 服务器加密信息并发送信息
服务器将数据利用随机值进行对称加密,再发送给客户端
8. 客户端接收并解密信息
客户端用之前生成的随机值解密服务段传过来的数据,于是获取了解密后的内容
自己的理解
https的通讯过程可以理解为 特工和机关通讯
1.特工要向机关发起,汇报任务请求
2.机关这边有一种加密通讯的方式:私钥和公钥 私钥是用来解密的 公钥是用来通讯的
机关私钥:解密方式为去掉数字
机关公钥:123456
3.然后机关将公钥发送给特工
4.特工这边要验证给公钥的可靠性,如果不安全就选择不去接触,如果安全则结合公钥,创建一个随机秘钥与公钥进行混合
特工随机秘钥:床前明月光
特工加密秘钥:1窗2前3明4月5光6=123456+床前明月光
5.特工将加密秘钥后发送给机关
6.机关使用自己的机关私钥对特工的特工公钥进行解密
机关私钥 解密 特工公钥
机关私钥:解密方式为去掉数字
特工私钥(床前明月光)=机关私钥(解密方式为去掉数字)+特工加密秘钥(1窗2前3明4月5光6)
7.机关安装特工的随机秘钥加密后进行通讯
8.特工使用自己的随机秘钥对发来的信息进行解密
3.HTTP和HTTPS的区别
| 端口 | 传输 | 安全性 | 证书 |
HTTP | 80 | 非加密超文本传输协议 | 不安全 | 无证书 |
HTTPS | 443 | TLS/SSL加密的超文本传输协议 | 相对HTTP安全 | CA证书 |