代理(如 squid)如何知道连接是不是使用 http?

Posted

技术标签:

【中文标题】代理(如 squid)如何知道连接是不是使用 http?【英文标题】:How does a proxy(like squid) knows if the connection is using http?代理(如 squid)如何知道连接是否使用 http? 【发布时间】:2010-08-06 22:33:43 【问题描述】:

我正在考虑使用 http 制作自己的协议隧道。 因此,在某些情况下,我们有 squid 等代理的用户名和密码。

1-它怎么知道http真的在发生??它会检查端口 80 上 TCP 连接的内容吗? 2-如果是这样,那么我真的需要使用http。如果不能,我可以在端口 80 上使用任何 TCP 连接吗?

【问题讨论】:

它必须是 HTTP,因为代理必须知道正在获取什么(例如用于缓存) 【参考方案1】:

它检查内容解码和解释 HTTP 请求和响应,否则代理将不知道将请求转发到哪里。

HTTPS 是另一回事(代理无法读取加密的 ssl 连接),它只解释在 HTTPS 流量之前发送的单个 CONNECT 行。

更多信息:http://en.wikipedia.org/wiki/HTTP_tunnel

【讨论】:

以上是关于代理(如 squid)如何知道连接是不是使用 http?的主要内容,如果未能解决你的问题,请参考以下文章

Squid正向代理矩阵

squid代理服务器

squid代理服务器

Squid代理服务器

squid 透明代理配置

squid正向代理反向代理