3月阅读周·HTTP权威指南:集成点之协议网关篇
引言
HTTP(Hypertext Transfer Protocol,超文本传输协议[插图])是在万维网上进行通信时所使用的协议方案。HTTP有很多应用,但最著名的是用于Web浏览器和Web服务器之间的双工通信。
《HTTP权威指南》一书将HTTP中一些互相关联且常被误解的规则梳理清楚,并编写了一系列基于各种主题的章节介绍HTTP各方面的特性。纵观全书,对HTTP“为什么”这样做进行了详细的解释,而不仅仅停留在它是“怎么做”的。此外,这本书还介绍了很多HTTP应用程序正常工作所必需且重要的非HTTP技术。
这本书主要包括以下内容:
- 第一部分描述了Web的基础构件与HTTP的核心技术
- 第二部分重点介绍了Web系统的结构构造块:HTTP服务器、代理、缓存、网关以及机器人应用程序。
- 第三部分提供了一套用于追踪身份、增强安全性以及控制内容访问的技术和技巧。
- 第四部分涵盖HTTP报文主体和Web标准,前者包含实际内容,后者描述并处理主体内容。
- 第五部分介绍了发布和传播Web内容的技巧。
- 第六部分是一些很有用的参考附录,以及相关技术的教程。
集成点:网关、隧道及中继
事实证明,Web是一种强大的内容发布工具。随着时间的流逝,人们已经从只在网上发送静态的在线文档,发展到共享更复杂的资源,比如数据库内容或动态生成的HTML页面。Web浏览器这样的HTTP应用程序为用户提供了一种统一的方式来访问因特网上的内容。
HTTP也已成为应用程序开发者的一种基本构造模块,开发者们可以在HTTP上捎回其他的协议内容(比如,可以将其他协议的流量包裹在HTTP中,用HTTP通过隧道或中继方式将这些流量传过公司的防火墙)。Web上所有的资源都可以使用HTTP协议,而且其他应用程序和应用程序协议也可以利用HTTP来完成它们的任务。
协议网关
浏览器使用服务器端FTP网关的对话框,配置浏览器将gw1.joes-hardware.com作为所有FTP URL的HTTP/FTP网关。浏览器没有将FTP命令发送给FTP服务器,而是将HTTP命令发送给端口8080上的HTTP/FTP网关gw1.joes-hardware.com。
这种网关配置的结果。一般的HTTP流量不受影响,会继续流入原始服务器。但对FTP URL的请求则被放在HTTP请求中发送给网关gw1.joes-hardware.com。网关代表客户端执行FTP事务,并通过HTTP将结果回送给客户端。
HTTP/*:服务器端Web网关
请求流入原始服务器时,服务器端Web网关会将客户端HTTP请求转换为其他协议。
网关收到了一条对FTP资源的HTTP请求:ftp://ftp.irs.gov/pub/00-index.txt。
网关会打开一条到原始服务器FTP端口(端口21)的FTP连接,通过FTP协议获取对象。网关会做下列事情:
- 发送USER和PASS命令登录到服务器上去;
- 发布CWD命令,转移到服务器上合适的目录中去;
- 将下载类型设置为ASCII;
- 用MDTM获取文档的最后修改时间;
- 用PASV告诉服务器将有被动数据获取请求到达;
- 用RETR请求进行对象获取;
- 打开到FTP服务器的数据连接,服务器端口由控制信道返回;一旦数据信道打开了,就将对象内容回送给网关。
完成获取之后,会将对象放在一条HTTP响应中回送给客户端。
HTTP/HTTPS:服务器端安全网关
一个组织可以通过网关对所有的输入Web请求加密,以提供额外的隐私和安全性保护。客户端可以用普通的HTTP浏览Web内容,但网关会自动加密用户的对话。
HTTPS/HTTP客户端安全加速器网关
最近,将HTTPS/HTTP网关作为安全加速器使用的情况是越来越多了。这些HTTPS/HTTP网关位于Web服务器之前,通常作为不可见的拦截网关或反向代理使用。它们接收安全的HTTPS流量,对安全流量进行解密,并向Web服务器发送普通的HTTP请求。
这些网关中通常都包含专用的解密硬件,以比原始服务器有效得多的方式来解密安全流量,以减轻原始服务器的负荷。这些网关在网关和原始服务器之间发送的是未加密的流量,所以,要谨慎使用,确保网关和原始服务器之间的网络是安全的。
总结
将HTTP流量导向网关时所使用的方式与将流量导向代理的方式相同。最常见的方式是,显式地配置浏览器使用网关,对流量进行透明的拦截,或者将网关配置为替代者(反向代理)。
作者介绍
非职业「传道授业解惑」的开发者叶一一。
《趣学前端》、《CSS畅想》等系列作者。华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。
- 点赞
- 收藏
- 关注作者
评论(0)