用单台虚拟主机实现多个域名
为了最大化利用物理服务器的资源,可以将一台物理服务器虚拟成多台虚拟主机,虽然只有一台物理服务器,但看起来就像很多台一样。也就是说一个物理服务器可以对应多个域名
在互联网上,通过DNS服务可以将共享同一个物理服务器的不同域名转换成同一个IP地址。为了区分,在HTTP 请求中的HOST中加上域名
通信数据转发程序
- 代理
代理相当于客户端和服务器之间的中间商。代理接受来自客户端的请求,转发给服务器,然后接受从服务器发来的响应再转发给客户端。
使用代理的一个优点就是可以使用缓存机制,如果客户端请求的是已经在代理服务器中的缓存资源,那么将不会从源服务器获取,而直接从代理返回 - 网关
同代理类似,但是网关更适用于非HTTP协议的通信 - 隧道
在客户端和服务器之间建立安全的通信线路。隧道是透明传输的
保存资源的缓存
缓存是保存在客户端或者代理服务器的资源副本。使用缓存就可以不用再次从源服务器获取资源,可以节省流量和请求时间。
- 代理服务器上的缓存
客户端请求的资源的副本保存在代理服务器上,当客户端再次请求时就可以不用再从源服务器获取了 - 保存在客户端的缓存
保存在客户端的资源可以在客户端再次请求时直接获取,不必再从服务器获取
缓存有效期的问题
保存在代理服务器或客户端的缓存不可能一直和源服务器保持一致,当服务器端的资源更新时,也要确保代理或者客户端的资源得到更新。
可以向源服务器确认资源的有效性,确保资源最新