HTTP 和 SOCKS 代理之间有什么区别?

Last modified date

Comments: 3

HTTP 和 SOCKS 代理之间的区别

并非所有代理都一样。事实上,许多代理在速度、安全性和路由协议方面具有不同的有效性,这使得它们对用户来说有很大的不同。

目前使用的两种主要代理类型超文本传输​​协议 ( HTTP ) 代理安全套接字 ( SOCKS ) 代理。我将从多个层面分析这两种方法之间的区别。我将避免使用极端的技术语言(除非必要),以便初学者能够像熟练的程序员一样理解。

我将从功能、速度、安全性、成本、可用性和实际用途进行比较。

在深入探讨这个问题之前,这里先简单解释一下这两个系统都建立在 HTTP 协议之上的一般功能。


HTTP 协议

HTTP 协议是互联网的标准代理协议。它是您在每个网址中看到的:http://www.example.com。它已经深深地印刻在我的现代大脑中,以至于在很多方面我都不再看到它了——当然,除了在写关于它的文章时。

关于 HTTP 协议功能,首先要知道的是,它基于请求-响应场景中的客户端-服务器模型。在大多数情况下,“客户端”是 Web 浏览器(即您使用 Web 浏览器),客户端发出信息请求。此信息请求是 HTTP 请求,输入为统一资源定位器 (URL)。而“服务器”是具有该信息的应用程序或另一台计算机。收到请求后,服务器将资源(大量内容,如图像或文本块)以 HTTP 格式发送回客户端。

对于那些感到困惑的人来说,上面的过程就是你访问网站时所发生的情况。你是客户端,输入http://facebook.com,Facebook(公司)在某处有一个服务器,里面保存着你想看的信息。HTTP 是发出请求的方法,也是向你提供信息的方式。

该协议本质上就是互联网和基于网络的浏览的设置方式。

当你想在这个客户端-服务器模型中增加一层时,代理就会发挥作用。你可能想要增加一层以达到匿名或安全的目的,或者因为客户端或服务器设置了防火墙,它们无法相互访问。

HTTP 代理和 SOCKS 代理是两种不同类型的层。这有点令人困惑,因为“HTTP 代理”看起来与“HTTP 协议”非常相似。虽然这两种类型的代理都是基于 HTTP 协议构建的,但它们有一些关键区别。


HTTP 代理功能

我将在下面详细介绍,但HTTP 代理功能的主要突出特点是它们在构建时考虑到了非常具体的 HTTP 协议方法。它们主要用于在该协议内获取和接收,而不是其他类型的网络连接。这包括特定的网络端口,所有 HTTP 流量通常都通过这些端口进行路由。

由于这些因素,HTTP 代理是两种类型中更常见的一种,通常人们在谈论代理使用时指的就是 HTTP 代理。公共代理精英私人代理一些 VPN 服务都使用 HTTP 代理。


SOCKS代理功能

SOCKS 代理在所谓的“较低级别”上运行,而不是 HTTP 代理。这意味着SOCKS 代理更通用,具有更多应用程序,但不那么智能。“智能”在这里指的是编程和代理方法对传递的信息的理解,我将在安全部分讨论这一点。

程序员也使用 SOCKS 代理,因为与与 HTTP 协议绑定的 HTTP 代理不同,SOCKS 可以在任何网络协议和任何端口上工作。

由于 SOCKS 代理的普遍用途,它们更多地用于非特定的 HTTP 协议相关事宜,并且对程序员来说具有可塑性,而 HTTP 代理则不能。

SOCKS代理协议


安全性比较

当人们谈论 SOCKS 和 HTTP 代理之间的区别时,大多数人谈论的是两者的安全性。代理通常专门用于匿名性和安全性,因此这是人们最关心的问题,这是很有道理的。我将在下面详细比较两者。

HTTP 代理安全

一般来说,HTTP 代理不如 SOCKS 安全。如果你使用精英私人代理、共享私人代理或公共代理(按安全性降序排列),情况确实如此。

HTTP 代理不够安全的主要原因是什么?它们很“智能”。我知道这很奇怪。通常,智能意味着更高的安全性,但在这个特定的协议链中,情况并非如此。

当查看实际的网络流量或 HTTP 协议中客户端和服务器之间传递的数据时,安全问题就成为焦点。由于这种智能(这实际上是代理和协议系统在架构上的设置方式的一种简单说法),HTTP 代理可以理解和解释这种流量。

这意味着您(客户端)请求的数据流可以被您使用的代理看到。这意味着它可能会“看到”您下载的《权力的游戏》最新一集,未经购买就拥有该剧集是违法的。它还可能“看到”关于啄木鸟的随意网络搜索。代理并不关心数据是否敏感,但事实是它可以读取它。

这导致了许多代理提供商丑闻。例如,流行的 VPN 网站HideMyAss!被记录下来记录了一名付费用户的数据,而该用户恰好利用其匿名性帮助访问和窃取索尼信息。该用户的行为是非法的,HideMyAss! 有充分的合法权利交出这些信息。

如果 HideMyAss! 是基于 SOCKS 代理平台构建的,而不是基于 HTTP 代理,那么这些信息就永远不会被追踪。在这个特定案例中,用户的过错是存在的。然而,许多用户认为 HTTP 代理非常安全(被冠以“精英私人代理”之类的名称),而实际上,拥有这些代理的公司可能会记录上述数据

HTTP 代理警告

HTTP 代理不安全这一概念存在一个数字警告。我们中的许多人现在都熟悉 HTTPS 而不是 HTTP——“S”通常与更安全的网站相关联。在 Google Chrome 中,以 https:// 开头而不是 http:// 开头的网站上会出现一个小挂锁图标。这可以通过 CONNECT 方法实现,该方法允许 HTTP 代理在客户端和服务器之间建立安全的直接连接,也称为隧道。

如果您打算购买 HTTP 代理,请询问提供商是否支持 CONNECT 方法。如果支持,您可以从某些连接中获得极大的安全性。如果不支持,您将面临数据被读取的风险。

SOCKS代理安全

您可能已经猜到了,SOCKS 代理比 HTTP 代理更安全。主要原因是 SOCKS 无法读取客户端和服务器之间传递的数据。从某种意义上说,它是愚蠢的,这种无知使它无法了解客户端和服务器之间传递的任何信息。

这背后的技术过程与 SOCKS 代理连接方法有关,这种方法称为隧道。使用 HTTP 代理,客户端和服务器通过代理本身交换信息,代理充当两个基于 Web 的界面之间的中间人。使用 SOCKS 隧道,客户端直接向客户端发出请求,并在获得明确许可(称为握手)后打开隧道。

这是基于 TCP/IP 的连接,由于其直接性和透明性,因此非常安全。隧道何时打开是一目了然的,SOCKS 代理无法访问隧道中的数据也是一目了然的。

SOCKS 代理有两个主要版本,分别是 4 和 5。最新版本 SOCKS5 增加了对安全性和UDP 的更多支持。对于基本用户来说,任何版本的

SOCKS 效果很好,而且都非常安全。

作为参考,超匿名和安全的网站Tor是基于 SOCKS 代理技术建立的。


速度比较

说到代理,人们关心的下一件事就是速度。让中间人路由往返于您的 IP 地址的所有流量是陷入困境的一个很好的方法,因此速度始终是一个问题。我将在下面比较 HTTP 和 SOCKS 代理速度。

HTTP 代理速度

HTTP 代理就是中间人,所以你肯定会遇到至少轻微的速度下降。话虽如此,HTTP 代理是两种代理中更常见的一种,因此速度是提供商非常关注的问题。

HTTP 代理一般有三种类型,每种类型的速度都不同:

  • 公共代理

这些是代理列表中的免费代理,速度非常慢。成千上万的人可能会尝试使用一个代理,而所有这些数据往往会降低速度。此外,这些代理不安全,所以我不建议使用它们。

此外,付费代理真的比免费代理好得多吗?

  • 共享私人代理

并非所有代理提供商都提供此选项,但最受欢迎的提供商之一SquidProxies提供此选项。您必须为这些服务付费,并且它们通常由少数客户共享。通过这种方式,您可以更便宜地访问半私有代理,并且理论上可以使用私有代理的全部速度,该速度徘徊在广告宣传的 1,000 MB/s 左右。但是,您的代理共享伙伴可能会占用大量带宽,因此您的速度可能会严重下降。

相关,共享代理初学者指南:什么是共享代理以及为什么它很便宜?

就 HTTP 代理而言,这些都是佼佼者,而且通常宣传速度超过 1,000 MB/s。个人通常没有能够处理这些速度的数据连接,这意味着精英私人代理根本不会降低您的速度。但是,代理就是代理,如果中间人出现任何问题,您就会注意到速度的变化。

此规则有一个例外,它与 HTTP 代理缓存有关。一些高端代理能够在您看到内容之前对其进行缓存,这将使浏览更加流畅。由于此功能,图像、视频和 GIF 等内容实际上可能比没有代理时显示得更快。

SOCKS代理速度

说到底,SOCKS 代理仍然是代理,其运行速度不会比 HTTP 代理快多少或慢多少。速度最终将取决于代理提供商的设置,正如我上面所说,速度可能高达 1,000 MB/s,或比这慢得多。

从计算角度来看,SOCKS代理运行时所需的编码较少。在某些情况下,这可以提高速度,但大多数人不会注意到这种变化。

下载或传输大量内容时,SOCKS代理速度要快得多。由于SOCKS代理的直接隧道,可以更快地传输这些内容。因此,它是BitTorrent 的首选代理类型。


价格比较

这与速度一样,很大程度上取决于您的代理提供商。即使是 HTTP 代理的成本也可能相差很大,而且市场上有大量的提供商。有些非常优秀且备受推崇,有些则不然。寻找代理提供商时,请做好调查。搜索Black Hat WorldWarrior Forum等论坛,如果您不确定,请联系客户支持。

一些代理提供商会在其软件包中同时包含 HTTP 代理和 SOCKS 代理(通常为 SOCKS5)。提供这些服务的提供商(如TorGuard)往往比典型的 HTTP 代理提供商贵一点。

您可以在购买前通过客户服务或网站常见问题解答部分查看提供商提供哪些类型。很少有服务只提供 SOCKS 代理。通常服务会同时提供这两种代理。

这使得 SOCKS 代理稍微贵一些,因为如果您不需要它们,您可以从 HTTP 代理提供商处购买更便宜的计划。


结论

希望您现在对 HTTP 和 SOCKS 代理之间的区别有了更好的理解。正如我之前所说,我尽力不涉及与这些区别相关的超级技术语言。

不过,这些技术性的东西确实存在,你可以在闲暇时搜索上面链接的维基百科页面,或者在 Black Hat World 上询问相关问题。

每种代理类型都有其用途,因此在选择代理类型时,请考虑其具体用途,然后做出决定。


chcrazy

Share

3 Responses

发表回复