嗯,这章还是比较容易理解的,主要就是讲了一下与HTTP协作的Web服务器。我们先来看一张思维导图。
在以前的文章中已经提到过,客户端与服务器的交互是通过DNS映射来实现的,但是在交流的过程中,有可能存在着下面的几个东西:代理 网关 隧道
代理
代理就字面意思都可知道扮演着一个中间人的角色,有时候客户端和源服务器相隔很远,有个中间人的存在可以保证交流的稳定性。当然,有可能很多客户端会向源服务器发送相同的请求,那么这个中间人还可以拥有缓存的功能,这样就减轻了源服务器处理很多相同的请求,但是有缓存也必须要注意缓存的有效性问题,毕竟源服务器的资源不可能永不改变。
上段说明的是缓存代理,还存在着透明代理与非透明代理,有文中的思维导图可知,区别也就是对不对报文进行修改。
网关
网关(Gateway)又称网间连接器、协议转换器。网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。网关既可以用于广域网互连,也可以用于局域网互连。 网关是一种充当转换重任的计算机系统或设备。在使用不同的通信协议、数据格式或语言,甚至体系结构完全不同的两种系统之间,网关是一个翻译器。与网桥只是简单地传达信息不同,网关对收到的信息要重新打包,以适应目的系统的需求。同时,网关也可以提供过滤和安全功能。大多数网关运行在OSI 7层协议的顶层--应用层。(看起来都头痛),这儿有个比喻:
假设你的名字叫小不点,你住在一个大院子里,你的邻居有很多小伙伴,在门口传达室还有个看大门的李大爷,李大爷就是你的网关。当你想跟院子里的某个小伙伴玩,只要你在院子里大喊一声他的名字,他听到了就会回应你,并且跑出来跟你玩。 但是你不被允许走出大门,你想与外界发生的一切联系,都必须由门口的李大爷(网关)用电话帮助你联系。假如你想找你的同学小明聊天,小明家住在很远的另外一个院子里,他家的院子里也有一个看门的王大爷(小明的网关)。但是你不知道小明家的电话号码,不过你的班主任老师有一份你们班全体同学的名单和电话号码对照表,你的老师就是你的DNS服务器。于是你在家里拨通了门口李大爷的电话,有了下面的对话:小不点:李大爷,我想找班主任查一下小明的电话号码行吗? 李大爷:好,你等着。(接着李大爷给你的班主任挂了一个电话,问清楚了小明的电话)问到了,他家的号码是211.99.99.99 小不点:太好了!李大爷,我想找小明,你再帮我联系一下小明吧。 李大爷:没问题。(接着李大爷向电话局发出了请求接通小明家电话的请求,最后一关当然是被转接到了小明家那个院子的王大爷那里,然后王大爷把电话给转到小明家)就这样你和小明取得了联系。
可见网关跟代理十分相似,但是网关可以提供非HTTP协议的服务。
隧道
隧道的特点是,他不会去解析http协议,只能把请求原封不动的进行传输。但是他可以提供加密机制和安全机制,是不是很放心?这样就可以防御很多攻击。
刚刚在代理中提到了缓存的概念,那是代理服务器缓存,还有客户端缓存,都需要注意有效性的问题。
参考博客:图解http协议(五章与http协作的web服务器)
什么是网关及网关作用
参考资料:《图解HTTP》+无所不知的度娘+各位大佬的博客(文中图片均来自《图解HTTP》)