http 代理如何确定单个端口的 https 流量?

http 代理如何确定单个端口的 https 流量?

如果代理接收到 TCP 数据包,则目标 IP 地址和端口就是代理的 IP 地址和端口。在这种情况下,我认为代理仍能解析目标的唯一方法是通过路由源 IP 地址/端口或通过 http 标头中的主机字段。这是正确的吗?

在 Fiddler 和 Charles http 代理中,我注意到该工具通过您可以指定的单个端口接受 http 和 https 连接。这些工具如何区分这两种类型的连接?

答案1

HTTP 请求由“GET”、“PUT”或类似动词组成。HTTPS 请求由“CONNECT”请求组成,因为浏览器要求代理建立连接。代理确定要连接的地址,因为它是 CONNECT 请求的参数。

请参阅维基百科条目HTTP 隧道.另请参阅此链接其中显示了一些实际的 HTTP 和 HTTPS 代理流量。

相关内容