HTTP相关协议以及网络分层模型

HTTP协议也叫作HTTP over TCP/IP。

  1. IP协议
    主要是解决寻址和路由问题,以及如何在两点之间传输数据包,现有IPV4、IPV6两个版本。
  2. TCP协议
    传输控制协议,位于IP协议之上,基于IP协议提供的可靠地、字节流形式的通信,是HTTP协议得以实现的基础。
  3. DNS(域名系统)
    由于IP地址是一系列数字,为了方便人们记忆,就出现了一个有层次的域名结构。域名用“.”分割,级别从左至右逐渐升高,最右为*域名(如cn、edu、com等)。域名与IP之间有一个映射,根据域名查找IP的过程称为域名解析。
  4. URI和URL
    URI:统一资源标识符,是互联网上资源的唯一标识(主要由三部分构成:协议名、主机名、路径);
    URL:统一资源定位符(网址),是URI的一个子集,差别不大

HTTPS(HTTP over SSL/TLS)

  1. SSL/TLS协议
    负责加密通信的安全协议,建立在TCP/IP之上,也是个可靠地传输协议。SSL综合了对称加密、非对称加密、摘要算法、数字签名、数字证书等密码学先进研究成果,能够在不安全的环境中为通信双方创建一条安全的通道。

代理

  1. 匿名代理:看不到被代理方,只能看到代理服务器;
  2. 透明代理:被代理方和代理服务器都可见;
  3. 正向代理:靠近客户端,代表客户端像服务端发送请求;
  4. 反向代理:靠近服务器,代表服务器相应客户端。
    总结:CDN实际上也属于一种代理,代替源站服务器响应客户端请求。代理相当于在传输过程中插入了一个中间层,在这个中间层我们可以做一些事情,如:
    (1)负载均衡:将访问请求均匀的分不到多台机器上,实现访问集群化;
    (2)内容缓存:暂存上下行的数据,减轻后端压力;
    (3)安全防护:隐匿IP,使用WAF等工具低于网路攻击,保护被代理机器;
    (4)数据处理:提供压缩、加密等额外功能。

以下是四层和七层网络模型,HTTP利用TCP/IP协议栈逐层打包再拆包,实现了数据传输。
HTTP相关协议以及网络分层模型
HTTP相关协议以及网络分层模型