HTTP相关协议以及网络分层模型
HTTP协议也叫作HTTP over TCP/IP。
- IP协议
主要是解决寻址和路由问题,以及如何在两点之间传输数据包,现有IPV4、IPV6两个版本。 - TCP协议
传输控制协议,位于IP协议之上,基于IP协议提供的可靠地、字节流形式的通信,是HTTP协议得以实现的基础。 - DNS(域名系统)
由于IP地址是一系列数字,为了方便人们记忆,就出现了一个有层次的域名结构。域名用“.”分割,级别从左至右逐渐升高,最右为*域名(如cn、edu、com等)。域名与IP之间有一个映射,根据域名查找IP的过程称为域名解析。 - URI和URL
URI:统一资源标识符,是互联网上资源的唯一标识(主要由三部分构成:协议名、主机名、路径);
URL:统一资源定位符(网址),是URI的一个子集,差别不大
HTTPS(HTTP over SSL/TLS)
- SSL/TLS协议
负责加密通信的安全协议,建立在TCP/IP之上,也是个可靠地传输协议。SSL综合了对称加密、非对称加密、摘要算法、数字签名、数字证书等密码学先进研究成果,能够在不安全的环境中为通信双方创建一条安全的通道。
代理
- 匿名代理:看不到被代理方,只能看到代理服务器;
- 透明代理:被代理方和代理服务器都可见;
- 正向代理:靠近客户端,代表客户端像服务端发送请求;
- 反向代理:靠近服务器,代表服务器相应客户端。
总结:CDN实际上也属于一种代理,代替源站服务器响应客户端请求。代理相当于在传输过程中插入了一个中间层,在这个中间层我们可以做一些事情,如:
(1)负载均衡:将访问请求均匀的分不到多台机器上,实现访问集群化;
(2)内容缓存:暂存上下行的数据,减轻后端压力;
(3)安全防护:隐匿IP,使用WAF等工具低于网路攻击,保护被代理机器;
(4)数据处理:提供压缩、加密等额外功能。
以下是四层和七层网络模型,HTTP利用TCP/IP协议栈逐层打包再拆包,实现了数据传输。