一台web服务器可搭建多个独立域名的web网站,也可以作为通信路径上的中转服务器提升传输效率
用单台虚拟机实现多个域名
HTTP/1.1规范允许一台HTTP服务器搭建多个web站点。
一般提供web托管服务的供应商,都会利用虚拟主机的功能使一台服务器可以服务于多个客户。
在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI
通信数据转发程序
代理
代理是一种有转发功能的应用程序,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。
每次通过代理服务器转发请求或者响应时,会追加写入Via首部信息
缓存代理
代理转发响应时,缓存代理会预先将资源的副本(缓存)保存在代理服务器上,当代理再次接收到对同资源的请求时,可以直接用缓存资源作为响应返回,不用从源服务器进行请求。透明代理
转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理。反之称为非透明代理。
网关
网关接收客户端请求,然后它自己可以像源服务器一样对请求进行处理,有时候客户端可能都不会察觉自己的通信目标是个网关!
网关的作用和代理很相似。但是,网关可以在通信线路上使用非HTTP协议服务。
利用网关可以提高通信的安全性,因为可以在客户端与网关之间的通信线路上加密以确保连接的安全
存疑:难道不是网关和服务器端???照书上说的,网关和非HTTP服务器之间可以用非HTTP协议
隧道
隧道按需求建立起一条与其他服务器的通信线路,届时用SSL等加密手段进行通信。隧道的目的是确保客户端与服务器端进行安全的通信。隧道本身不会去解析HTTP请求。
缓存
缓存是指代理服务器或者客户端本地磁盘内保存的资源副本。
利用缓存可以减少对源服务器的访问,因此可以节省通信流量和时间,也可以减轻源服务器压力。
缓存有时效性,在缓存失效的时候,缓存服务器或者客户端会再次请求获取新资源
本文整理自《图解HTTP》和网络,之后将持续进行完善
以上关于网关的存疑,望知情的同学可以解答
图解HTTP系列:
图解HTTP--HTTP状态码
图解HTTP--TCP/IP