一台 Web 服务器可搭建多个独立域名的 Web 网站,也可作为通信路径上的中转服务器提升传输效率。
HTTP/1.1 规范允许一台 HTTP 服务器搭建多个 Web 站点。
在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网址,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。
HTTP 通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理、网关和隧道。
代理:一种有转发功能的应用程序,请求转发以及响应转发,通信线路使用相同协议
转发时不会改变请求URI,只是会在请求首部字段添加Via标记
代理有多种使用方法,按两种基准分类。
缓存代理:代理转发响应时,缓存代理(Caching Proxy)会预先将资源的副本(缓存)保存在代理服务器上。
透明代理:转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理(Transparent Proxy)。反之,对报文内容进行加工的代理被称为非透明代理。
网关:转发其他服务器通信数据的服务器,通信线路使用协议可以不同
利用网关可以有HTTP请求转化为其他协议请求,提高通信的安全性
隧道:在相隔甚远的客户端和服务器两者之间进行中转
按要求建立起一条与其他服务器的通信线路,确保客户端能与服务器进行安全的通信。
缓存是指代理服务器或客户端本地磁盘内保存的资源副本。利用缓存可减少对源服务器的访问,因此也就节省了通信流量和通信时间。
缓存服务器是代理服务器的一种,并归类在缓存代理类型中。换句话说,当代理转发从服务器返回的响应时,代理服务器将会保存一份资源的副本。
缓存不仅可以存在于缓存服务器内,还可以存在客户端浏览器中。
当判定缓存过期后,会向源服务器确认资源的有效性。若判断浏览器缓存失效,浏览器会再次请求新资源。