1.直接通信:
是一种最简单的通信方式,通过用户代理和源服务器(资源所驻留 的服务器)之间的单个连接来完成
2.通过中介的HTTP通信
当客户和源服务器之间有一个或多个中介系统时,在HTTP请求/响应链中会出现多个连接,中介有三种形式:代理Proxy、网关Gateway、隧道Tunnel
Proxy:是客户和服务器之间的一种中间程序,它既充当一个服务器,也充当一个客户。
Gateway:是两类服务器之间的一种中间程序,它将一类服务器所支持的协议翻译为另一类服务器所支持的协议。与代理不同,网关接受请求就好像它是源服务器,发送请求的客户并没有意识到它正在和网关打交道 ,例如Web E-mail系统
Tunnel:是两个连接之间的中继系统,与Proxy和Gateway不同,它不对HTTP消息作任何修改。当客户与服务器的通信要通过防火墙等中介系统时,就可以使用Tunnel
3.使用缓存的HTTP通信
Cache使用于暂存服务器响应消息的本地存储空间,以及对暂存消息进行存储、检索和删除等的子系统。用于存储可缓存的响应消息,以便在将来出现相同的客户请求时减少响应时间并降低网络带宽的占用。HTTP协议引入了缓存机制和响应的控制手段,以保证通信的高效性、正确性
HTTP通信链中的任何一个成员,包括:客户代理、服务器、中介(除隧道外),均可以采用内部的缓存来处理客户请求,如果通信链中的一个成员已经对某个请求的响应进行了缓存,那么它就不应该请求向前传递,而直接将响应返回给用户,从而缩短请求/响应链。这样的处理方式能减少请求-响应链路上的网络负载,提高响应速度