第五章、与HTTP协助的web服务器
单台虚拟主机实现多个域名
可以用单台物理主机运行多台虚拟主机,这些虚拟主机的IP相同,而虚拟主机有可以寄存多个不同主机名和域名的web网站,所以要保证发送HTTP请求时,必须在HOST首部内完整指定主机名或域名的URI。
通信数据转发程序:代理、网关、隧道
代理:是一种由转发功能的应用程序,是客户端和服务器的中间人。
网关:是转发其他服务器通信数据的服务器,接收客户端发送来的请求时,就像自己拥有资源的源服务器一样对请求
处理。有时候客户端不会察觉到自己的通信目标只是一个网关
隧道:在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。
代理:
不改变请求URI的转发代理,每次通过代理服务器转发请求或响应时会追加写入via首部信息,以标注经过的主
机信息。
---分类:缓存否,加工否
缓存代理:转发响应时,会预先将资源的副本缓存/保存在代理服务器上,当遇到相同资源请求时直接发送缓存
透明代理:转发请求或响应时,不对报文做任何加工。反之对报文加工的称为不透明代理
网关:
可以使线路上的服务器提供非HTTP请求
能提高通信安全性,因为可以在客户端和网关之间的通信线路上加密
隧道:
隧道可以按要求建立起一条和其他(远距)服务器的通信线路,使用SSL等手段加密通信,确保客户端能与服务
器进行安全的通信。
隧道本身也不会去解析HTTP请求,请求会保持原样转发给服务器,双方断开连接时隧道中断。
缓存:代理服务器或客户端本地磁盘内保存的资源副本
缓存服务器:是代理服务器的一种,缓存服务器会在转发响应时保存一份资源的副本。
客户端缓存/临时网络文件:如果有效就会从本地磁盘读取文件
缓存也存在有效期,当缓存判断失效是会从源服务器上获取"新"资源