一、单台虚拟主机实现多个域名
a) 单个主机搭载多个Web站点,不仅仅可以为多个客户端服务,还可以对多个持有不同域名的客户端进行服务,这就要利用虚拟主机(virtual host)功能。(一对多“服务”,还能提供不同的“服务”)
b) 在互联网上,DNS将域名映射成IP地址,每个主机的IP地址是唯一的。
c) 在单台虚拟主机中,可以寄存不同的主机名,因此在发送HTTP请求时,一定在HTTP首部内指定完整的主机名或者URI。
二、通信数据转发程序——代理、网关、隧道
HTTP通信时,除了客户端和服务器之外,还有一些用于通信的应用程序,例如网关、代理、隧道等。
a) 代理:就是一个“中间人”的角色,它负责将来自客户端的请求或者来自服务器的响应转发。
b) 网关:它可以处理来自客户端的请求,但是它并没有客户端所要的资源,它的资源来自服务器,它只是借花献佛。
c) 隧道:它是用来中转,保持相隔远的两端的通信状态。
三、代理
上文以描述代理的作用,在此不赘述。代理分为:缓存代理服务器和透明代理服务器。
代理服务器的作用如下:(这里指的是代理服务器)
1. 它可以存储缓存,减少网络带宽的流量。
2. 对特殊网站进行控制,比如翻墙使用的Goagent代理。
3. 获取访问日志。
四、网关
a) 可以采用非HTTP协议与服务器进行通信。比如,网关可以连接数据库,用SQL语句查询数据。(借“各种”花来献佛)
b) 网关和客户端之间可以进行加密,增强安全性。比如,在网上购物的时候,网关可以和信用卡结算进行连动。
五、隧道
a) 隧道的目的是增强数据传输的安全性,可以使用SSL加密技术。
b) 隧道本身不解析HTTP请求/响应,会把请求/响应原原本本的传达到对应端。
c) 隧道会在两段通信结束时结束。(它的应用程序,会结束的)
六、保存资源的缓存
a) 缓存的保存形式可以在代理服务器上保存,也可以在本地磁盘上保存。
b) 缓存保存后,再次访问缓存的内容是,要验证是否发生了改变,缓存是否过期。