HTTP协议是构建在TCP/IP协议之上的,是TCP/IP协议的一个子集,所以我们先看一下TCP/IP的知识
TCP/IP的分层
image.png
1)应用层
应用层一般是我们编写的应用程序,其决定了向用户提供的应用服务,通过系统调用与传输层进行通讯
2)传输层
传输层通过系统调用向应用层提供处于网络连接中的两台计算机之间的数据传输。
3)网络层
网络层用来处理在网络上流动的数据包,数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(传输路线)到达对方的计算机,并且把数据包传输给对方
4)链路层
链路层用来处理网络的硬件部分,包括控制操作系统、硬件设备驱动等。
5)HTTP协议通过请求/响应的方式,在客户端和服务端之间进行通信。
看下图:
image.png
缺点:不够安全,是没有做过加密的。就会存在中间人的攻击。
比如A向B表白,那C就会截取A的话,变个样子告诉B,搞破坏。
这样的话就和麻烦,就得对通话进行加密。
这就是所谓的HTTPS的中间人攻击
网址:https://github.com/Advanced-Frontend/Daily-Interview-Question/issues/142
解决方法:CA证书
image.png
这样的话就是一个SSL层
image.png
以上就是HTTP到HTTPS