图解HTTP第五章:与http协作的web服务器

5.2通信数据转发程序:代理,网关,隧道

  • http通信时,除了客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理,网关和隧道,

    1. 代理:是一种具有转发功能的应用程序,扮演了服务器和客户端中间人的角色,接受由客户端发送的请求并转发给服务器,同时也接受服务器发送的响应再转发给客户端。

      • 持有资源的实体服务器被称为源服务器,在http通信过程中,可级联多台代理服务器。请求和响应的转发,需要附加Via首部字段已标记出经过的主机信息。
        这里写图片描述
      • 为何使用代理?

        1. 利用缓存技术减少网络带宽的流量
        2. 组织内部针对特定网站的访问控制
        3. 以访问日止为主要目的
      • 代理有多种使用方法,按两种基准分类有,一种是是否使用缓存,另一种是是否会修改报文。

        1. 代理缓存:当代理转发响应时,缓存代理会预先将资源的副本(缓存)保存在代理服务器上,当代理再次受到对相同资源的请求时,就可以不从源服务器哪里获取资源,而是将之前缓存的资源作为响应返回。
        2. 透明代理:转发请求或响应时,不对报文做任何加工的代理类型被称为透明代理,反之,对报文内容加工的代理被称为非透明代理
    2. 网关:是转发其他服务器通信数据的服务器,接收从客户端发送的请求,他就像自己拥有资源的原服务器一样对请求进行处理。有时候客户端都不会察觉自己的通信目标是一个网关。
      • 网关的工作机制和代理十分相似。而网关能使通信线路上的服务器提供非http协议服务。
        这里写图片描述
      • 利用网关能提高通信的安全性,因为可以在客户端与网关之间的通信线路之上加密以确保连接的安全,比如,网关可以连接数据库,使用SQL语句查询数据。在购物网站上进行信用卡结算时,网关可以和信用卡结算系统联动。
    3. 隧道:在相隔很远的客户端和服务器两者之间进行中转(使用SSL等加密手段进行通信),并保持双方通信连接的应用程序。 隧道的目的是确保客户端与服务器进行安全的通信。,他会在通信双方断开连接时结束
      这里写图片描述

5.3保存资源的缓存

  • 缓存是什么? 是指代理服务器或客户端本地磁盘保存的资源副本。利用缓存可减少对源服务器的访问,因此也就节省了通信流量和时间。
  • 缓存服务器是代理服务器的一种。其优势是可以利用缓存避免多次从源服务器转发资源,客户端可以就近从缓存服务器上获取资源,而源服务器也不必多次处理相同的请求了。
    这里写图片描述

  • 缓存的有效期限
    即使缓存服务器内有缓存,但也不能保证每次都会返回对同资源的请求。也会因为客户端的要求,缓存的有效期等因素,再次向源服务器确认资源的有效性,若缓存失效,则会再次从原服务器上获取新资源。
    这里写图片描述

  • 客户端的缓存, 缓存不仅存在缓存服务器内,还可以存在客户端浏览器中,也把客户端缓存称为(临时网络文件)。
  • 若浏览器缓存有效,就不必再向服务器求情相同资源,可以直接从本地磁盘读取,若浏览器缓存失效,则会再次请求新资源
    这里写图片描述

猜你喜欢

转载自blog.csdn.net/AC_greener/article/details/80000278