HTTP 中继(relay)是没有完全遵循 HTTP 规范的简单 HTTP 代理。中继负责处理HTTP 中建立连接的部分,然后对字节进行盲转发。
HTTP 很复杂,所以实现基本的代理功能并对流量进行盲转发,而且不执行任何首部和方法逻辑,有时是很有用的。
简单盲中继实现中存在的一个更常见(也更声名狼藉的)问题是,由于它们无法正确处理 Connection 首部,所以有潜在的挂起 keep-alive 连接的可能。
这张图中发生的情况如下所述。
有一些方法可以使中继稍微智能一些,以消除这些风险,但所有简化的代理都存在着出现互操作性问题的风险。要为某个特定目标构建简单的 HTTP 中继,一定要特别注意其使用方法。对任何大规模部署来说,都要非常认真地考虑使用真正的、完全遵循 HTTP 的代理服务器。