http代理是如何工作的?

http代理是如何工作的?,http,proxy,Http,Proxy,我在网上搜索了一些关于http代理的信息。 我读过关于代理服务器的wiki文章。 但我还是不明白http代理是如何工作的,我真傻 以下是我关于http代理如何工作的假设: 如果我将http代理设置为一个特定的,比如proxy\u a,那么当我启动chrome/IE时,键入一个特定的URL,比如URL\u a,chrome/IE是否会直接将请求发送到proxy\u a, 然后代理A将请求发送到URL的真实服务器?HTTP代理使用HTTP协议,它专门用于HTTP连接,但也可能被其他协议滥用(这已经是

我在网上搜索了一些关于http代理的信息。 我读过关于代理服务器的wiki文章。 但我还是不明白http代理是如何工作的,我真傻

以下是我关于http代理如何工作的假设: 如果我将http代理设置为一个特定的,比如proxy\u a,那么当我启动chrome/IE时,键入一个特定的URL,比如URL\u a,chrome/IE是否会直接将请求发送到proxy\u a,
然后代理A将请求发送到URL的真实服务器?

HTTP代理使用HTTP协议,它专门用于HTTP连接,但也可能被其他协议滥用(这已经是一种标准)

浏览器(客户端)发送
GEThttp://SERVER/path HTTP/1.1
到代理
现在,代理将实际请求转发到服务器。
服务器将仅将代理视为连接,并与客户端一样对代理进行应答。
代理接收响应并将其转发回客户端

这是一个透明的过程,几乎就像直接与服务器通信一样,因此浏览器实现HTTP代理只需要很小的开销。
还可以发送一些额外的头文件来识别客户,表明他正在使用代理。
代理有时会出于各种目的更改/添加数据流中的内容。
例如,有些代理将真实IP包含在一个特殊的HTTP头中,该头可以记录在服务器端,也可以在其脚本中截获

CLIENT <---> PROXY <---> SERVER
客户端代理服务器
更新:
与使用代理作为安全/隐私功能相关
正如您在上面的ascii中所看到的,客户机和服务器之间没有直接通信。双方只需与他们之间的代理人交谈。
在现代世界中,客户端通常是浏览器,服务器通常是Web服务器(例如Apache)

在这种环境中,用户通常相信代理是安全的,不会泄露他们的身份。
但是,由于浏览器上运行复杂的软件框架,有许多可能破坏此安全模型的方法。
例如,Flash或Java小程序是代理连接如何中断的完美示例,Flash和Java可能都不太关心其父应用程序(浏览器)的代理设置。
另一个示例是DNS请求,根据代理和应用程序设置,这些请求可以在不使用代理的情况下到达目标名称服务器。
另一个例子是Cookie或您的浏览器元足迹(解析、响应时间、用户代理等),如果Web服务器已经认识您(或在没有代理的情况下再次与您见面),则两者都可能识别您

最后,代理本身需要被信任,因为它可以读取通过它的所有数据,而且最重要的是,它甚至可能会破坏您的SSL安全(请阅读中间的人)

从何处获取代理
代理可以作为服务购买、扫描或自己运行

公共代理
这些是最常用的代理,通常的术语“public”很容易引起误解。
更好的术语是“公开代理”。如果您在没有防火墙或身份验证的情况下运行代理服务器,世界上任何人都可以找到并滥用它。
绝大多数销售代理的公司只是在互联网上扫描此类代理,或者他们使用被黑客攻击的windows计算机(僵尸网络),并以非法/垃圾邮件活动的形式销售代理。
大多数现代国家可以将未经授权使用公开代理视为滥用,这是一件非常常见的事情,但实际上可能导致入狱。
可以通过在internet上搜索开放端口来扫描代理,典型的免费程序是
警告一句:大规模扫描几乎肯定会让你的互联网连接被ISP禁止

付费代理
这里我们有4种类型的代理:
1)付费公共(开放)代理
基本上,这些卖家会出售或转售大量代理列表,这些列表会定期刷新以删除死掉的代理。
代理被大规模滥用,通常在包括谷歌在内的大多数网站上被列入黑名单。
另外,这些代理通常非常不稳定且非常缓慢。
这些代理中的绝大多数只是滥用配置错误的服务器。 这是一个竞争非常激烈的“市场”,谷歌将带来许多例子

2)付费黑客(僵尸网络)代理 它们滥用计算机,主要是物联网或windows台式机作为代理主机。攻击者将其大规模用于各种非法目的。
卖家通常称其为“住宅代理”,以隐藏其非法性质。
使用这样的代理毫无疑问是非法的,如果你连接到它,被滥用的用户可以很容易地记录“你的”IP,包括劫持你到目的地的连接的可能性。
根据来源,这些IP没有被列入黑名单,因此“质量”比公共代理要好得多

3)付费共享代理
这些是数据中心代理,通常是合法的,具有快速上行的潜力。
由于存在大量电子商务垃圾邮件,这些IP被大量滥用,通常出现在黑名单中。
一个典型的用途是规避craigslist限制或地理限制

4)付费私人/专用代理
“私人”指专用。如果运营商是专业的,则表示您的代理不在其他人之间共享。
这些通常用于更专业和更合法的活动,特别是当代理IP租用较长时间时。
一位著名的操作员将是

自己的代理
运行自己的代理也是可能的,有各种开源项目可用。

最常用的代理服务器是

为了补充John的上述伟大答案,一个重要的步骤是初始连接ha
CONNECT example.com:80 HTTP/1.1
Host: example.com