《图解HTTP》与HTTP协作的Web服务器
一、用单台虚拟主机实现多个域名
HTTP1.1规范允许一台HTTP服务器搭建多个Web站点,只要用虚拟主机的功能,可以表面上有多台服务器
不同的域名部署在同一个服务器上,使用DNS解析后,可以访问同一个IP地址
二、通信数据转发程序:代理、网关、隧道
代理:有转发功能的应用程序,客户端请求转发给服务器,服务器响应转发给客户端
网关:转发其他服务器通信数据的服务器,处理客户端发过来的请求,自己的通信目标是下一个网关。
隧道:保持客户端与服务端通信连接的应用程序
1、代理
代理不改变URI,会直接发送给持有资源的目标服务器
源服务器:持有资源实体的服务器
每次通过代理服务器转发请求或响应时,会追加写入Via首部信息
使用代理服务器的优点:
利用缓存技术减少网络带宽的流量
组织内部针对特定网站的访问控制
获取访问日志
代理的使用方法:缓存代理、透明代理
缓存代理:预先将资源缓存到代理服务器上,代理接收到相同资源请求时,就将缓存的资源作为响应返回
透明代理:转发请求或响应时,不对报文内容进行任何加工的代理
非透明代理:转发请求或响应时,对报文内容进行加工的代理
2、网关
网关:能使通信线路上的服务器提供非HTTP协议
优点:网关提高通信的安全性,比如在客户端与网关之间的通信线路上加密;网关可以连接数据库查询数据;web网站结算时,网关可以和信用卡结算系统联动
3、隧道
隧道可以按要求建立起一条与其他服务器的通信线路,届时使用SSL等加密手段进行通信
隧道目的:确保客户端能与服务器进行安全的通信
隧道不会去解析HTTP请求,是原样转给服务器的
隧道会在通信双方断开连接时结束
三、保存资源的缓存
缓存是只代理服务器或客户端本地磁盘内保存的资源副本
利用缓存可减少对源服务器的访问,节约通信流量和通信时间
缓存服务器是代理服务的一种
缓存服务器的优点:利用缓存可避免多次从源服务器转发资源
1、缓存的有效期
缓存的有效期限:如果服务器资源更新,却还使用不变的缓存,会演变成返回的为旧资源。(即使存在缓存,也会因为客户端的要求,缓存的有效期等因素,向服务器确认资源的有效性)
2、客户端的缓存
客户端缓存成为临时网络文件
浏览器缓存有效就可以在本地磁盘内读取,不用向服务器发出请求了
3、其他协议
FTP协议:传输文件使用的协议(使用)