Web架构“圣经”-------HTTP权威指南--5

八,集成点:网关、隧道、中继

一,网关(gateway

1,概述

当要在WEB上发布更复杂资源的需求出现时,人们很快发现:单个应用程序是无法处理所有这些想要的资源的;为了解决这个问题,开发者提出了网关(gateway)的概念,网关可以作为某种翻译器使用,它抽象出了一种能够到达资源的方法;网关是资源和应用程序之间的粘合剂;

2,根据对话是在网关的哪一侧进行的,可以将网关分为客户端网关(*/HTTP)和服务器端网关(HTTP/*)

3,将HTTP流量导向网关的方式与将流量导向代理的方式是一样的,最常见的方式就是显示的配置浏览器使用网关,对流量进行透明的拦截,或者将网关配置为替代者(反向代理);

二,隧道(tunnel

1,简介

Web隧道允许用户通过HTTP连接发送非HTTP流量,这样就可以在HTTP上捎带其他协议的数据了;

2,隧道是通过CONNECT方法建立的,可以用connect方法请求隧道网关建立一条到达任何目的服务器和端口的TCP连接,并对客户端和服务器之间的后续数据进行盲转发(即不解释任何方法和首部,直接转发);

3,注意:使用connect方法时,主机名和端口都必须指定;其他部分语法和其他HTTP方法相同;

三,中继(relay

1,简介

HTTP中继是没有完全HTTP规范的简单HTTP代理,它负责处理HTTP中建立连接的部分,然后对字节进行盲转发;有的时候实现基本的代理功能并对流量进行盲转发,而且不执行任何首部和方法是非常有用的;盲中继很容易实现;

2,问题

由于简单中继不认识connection首部,他们无法正确处理connection首部,所以,有潜在挂起keep-alive连接的可能;即如果简单盲中继是单任务的,而且不支持connection首部,就会挂起:它只进行盲转发,当客户端向服务器申请持久连接时,如果服务器答应了,这时就出现问题了,因为中继不认识connection首部,不知道什么keep-alive连接,当中继把响应回送给客户端的时候,它就会等待服务器关闭连接,但服务器认为是持久连接,是不会关闭连接的,中继就会挂起、等待连接的关闭;同样,客户端认为服务器同意了持久连接,会继续发送第二条请求,但中继是不会去处理这条请求的;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值