1.7 Web的结构组件

  • 之前重点介绍了两个 Web 应用程序(Web 浏览器和 Web 服务器)是如何相互发送报文来实现基本事务处理的。在因特网上,要与很多 Web 应用程序 进行交互。在本节中,我们将列出其他一些比较重要的应用程序:
    • 代理:位于客户端和服务器之间的 HTTP 中间实体。
    • 缓存:HTTP 的仓库,使常用页面的副本可以保存在离客户端更近的地方。
    • 网关:连接其他应用程序的特殊 Web 服务器。
    • 隧道:对 HTTP 通信报文进行盲转发的特殊代理。
    • Agent 代理:发起自动 HTTP 请求的半智能 Web 客户端。

1. 代理

  • HTTP 代理服务器是 Web 安全、应用集成以及性能优化的重要组成模块。
  • 代理:位于客户端和服务器之间,接收所有客户端的 HTTP 请求,并将这些请求转发给服务器(可能会对请求进行修改之后转发)。对用户来说,这些应用程序就是一个代理,代表用户访问服务器。
  • 出于安全考虑,通常会将代理作为转发所有 Web 流量的可信任中间节点使用。
  • 代理还可以对请求和响应进行过滤。比如,在企业中对下载的应用程序进行病毒检测,或者对小学生屏蔽一些成人才能看的内容。
    这里写图片描述

2. 缓存

  • 缓存(cache):Web 缓存(Web cache)或代理缓存(proxy cache)是一种特殊的 HTTP 代理服务器,可以将经过代理传送的常用文档复制保存起来。之后请求同一文档的别的客户端就可以享受缓存的私有副本所提供的服务了。
  • 客户端从附近的缓存下载文档会比从远程 Web 服务器下载快得多。HTTP 定义了很多功能,使得缓存更加高效,并规范了文档的新鲜度和缓存内容的隐私性。
    这里写图片描述

3. 网关

  • 网关(gateway):是一种特殊的服务器,作为其他服务器的中间实体使用。通常用于将 HTTP 流量转换成其他的协议。
  • 网关接受请求时就好像自己是资源的源端服务器一样。客户端可能并不知道自己正在与一个网关进行通信。
  • 比如:一个 HTTP/FTP 网关会通过 HTTP 请求接收对 FTP URI 的请求,但通过 FTP 协议来获取文档。得到的文档会被封装成一条 HTTP 报文,发送给客户端。
    这里写图片描述

4. 隧道

  • 隧道(tunnel):建立起来之后,就会在两条连接之间对原始数据进行盲转发的 HTTP 应用程序。
  • HTTP 隧道通常用来在一条或多条 HTTP 连接上转发非 HTTP 数据,转发时不会窥探数据。
  • HTTP 隧道的一种常见用途是通过 HTTP 连接承载加密的安全套接字层(SSL,Secure Sockets Layer)流量,这样 SSL 流量就可以穿过只允许 Web 流量通过的防火墙了。
  • 比如:HTTP/SSL 隧道收到一条 HTTP 请求,要求建立一条到目的地址和端口的输出连接,然后在 HTTP 信道上通过隧道传输加密的 SSL 流量,这样就可以将其盲转发到目的服务器上去了。
    这里写图片描述

5. Agent代理

  • 用户Agent代理(简称为Agent代理):是代表用户发起 HTTP 请求的客户端程序。
  • 所有发布 Web 请求的应用程序都是 HTTP Agent 代理。
  • 到目前为止,我们只提到过一种 HTTP Agent 代理:Web 浏览器,但用户 Agent 代理还有很多其他类型。
  • 比如:有些自己会在 Web 上闲逛的自动用户 Agent 代理,可以在无人监视的情况下发布 HTTP 事务并获取内容。这些自动代理的名字通常都很生动,比如“网络蜘蛛” (spiders)或者“Web 机器人”(Web robots)。网络蜘蛛会在 Web 上 闲逛,搜集信息以构建有效的 Web 内容档案,比如一个搜索引擎的数据库或者为比较购物机器人生成的产品目录。
    这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值