菜鸟面试必知的 http 知识(六)—— web的结构组件

我们通常认为网络连接直接发生在客户端和服务器之间。但实际上网络请求从客户端发出后,会经过层层关卡到达服务器。服务器收到请求后,返回的响应依旧会经过层层关卡返回给客户端。本篇文章介绍了网络请求和响应会经过哪些关卡,以及这些关卡的作用分别是什么?

下面是本文的提纲:
  1. 代理
    位于客户端和服务器之间的 HTTP 中间实体

  2. 缓存
    HTTP 的仓库,使常用页面的副本可以保存在离客户端更近的地方

  3. 网关
    连接其他应用程序的特殊 Web 服务器

  4. 隧道
    对 HTTP 通信报文进行盲转发的特殊代理

  5. Agent 代理
    发起自动 HTTP 请求的半智能 Web 客户端


1 - 代理

代理位于客户端和服务器之间,接受所有客户端的HTTP请求,并将这些请求转发给服务器。对于用户来说,这些应用程序就是一个代理,代表用户访问服务器

web结构组件——代理
1.1 代理服务器的部署
出口代理和访问(入口)代理
  • a. 出口代理
    可以将代理固定在本地网络的出口点,以便控制本地网络与大型因特网之间的流量。可以在公司网络中使用代理,提供针对公司外部恶意黑客的防火墙保护。

  • b. 访问(入口)代理
    代理常被放在ISP(Internet Service Provider)访问点上,用以处理来自客户的聚合请求。ISP使用缓存代理来存储常用文档的副本,以提高用户的下载速度,降低因特网带宽耗费。

反向代理和网络交换代理
  • c. 反向代理
    外部所有的请求都会发送给代理,代理转发给某台服务器。在这里,代理可以进行负载均衡,把请求分配给空闲或者处理能力强的机器,也可以进行统一安全性检查

  • d. 网络交换代理
    通过缓存来减轻因特网节点的拥塞,并对流量进行监视。

2 - 缓存

Web缓存(Web cache)或代理缓存(proxy cache)是一种特殊HTTP代理服务器,可以将经过代理传送的常用文档复制保存下来。下一个请求同一文档的客户端就可以享受缓存的私有副本所提供的服务了。这样做的目的是因为客户端从附近的缓存下载文档会比从远程Web服务器下载快得多

web结构组件——缓存
2.1 缓存处理请求的过程

Web缓存的基本工作原理大多很简单,对一条HTTP GET报文的基本缓存处理过程包括以下7个步骤(如图所所示):

缓存命中
  1. 接收——缓存从网络中读取抵达的请求报文
  2. 解析——缓存对报文进行解析,提取出URL和各种首部
  3. 査询——缓存査看是否有本地副本可用,如果没有,就获取一份副本,并将其保存在本地
  4. 新鲜度检测——缓存査看已缓存副本是否足够新鲜,如果不是,就询问服务器是否有任何更新
  5. 创建响应——缓存会用新的首部和已缓存的主体来构建一条响应报文
  6. 发送——缓存通过网络将响应发回给客户端
  7. 日志——缓存可选地创建一个日志文件条目来描述这个事务

3 - 网关

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

web结构组件——网关

网关和代理的区别是,代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是两个或多个使用不同协议的端点。

3.1 网关的3个实例

下图显示了三个网关的示例:


三个网关的示例
  • 在图a中,网关收到了对FTP URL的HTTP请求。然后网关打开FTP连接,并向FTP服务器发布适当的命令。然后将文档和正确的HTTP首部通过HTTP回送;
  • 在图b中,网关通过SSL收到了一条加密的Web请求,网关会对请求进行解密,然后向目标服务器转发一条普通的HTTP请求。可以将这些安全加速器直接放在(通常处于同一场所的)Web服务器前面,以便为原始服务器提供髙性能的加密机制;
  • 在图c中,网关通过应用程序服务器网关API,将HTTP客户端连接到服务器端的应用程序上去。在网上的电子商店购物,査看天气预报,或者获取股票报价时,访问的就是应用程序服务器网关。这也是网关最常见的用途,客户端无须关注服务器实现,只需要按照API或CGI发送规定格式的内容,就可以获取相应的内容。

4 - 隧道

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

web结构组件——隧道

5 - Agent代理

用户 Agent 代理(或者简称为 Agent 代理)是代表用户发起 HTTP 请求的客户端程序。所有发布 Web 请求的应用程序都是 HTTP Agent 代理。到目前为止,我们只提到过一种 HTTP Agent 代理:Web 浏览器,但用户 Agent 代理还有很多其他类型,比如网络爬虫。
爬虫属于Web机器人,而得到最广泛使用的Web机器人都是因特网搜索引擎。因特网搜索引擎可以帮助用户找到世界范围内涉及任意主题的文档。

web结构组件——Agent代理


大家好,我是彬彬酱,目前在腾讯从事Web后端开发。
菜鸟必知的 http 知识专题整理了关于网络的基础知识,适合大家进行入门级学习,这个专题现包含下列文章:
菜鸟必知的 http 知识(一)—— TCP 握手协议
菜鸟必知的 http 知识(二)—— HTTP 协议特点
菜鸟必知的 http 知识(三)—— 请求和响应报文
菜鸟必知的 http 知识(四)—— HTTP 和 HTTPS
菜鸟必知的 http 知识(五)—— 新技术的出现
菜鸟必知的 http 知识(六)—— web的结构组件


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容