SOCKS代理 与 HTTP代理的介绍和区别

本文介绍了 socks 代理和 http 代理的原理,特点和差异。

本文是以下视频的笔记: https://www.bilibili.com/video/BV1ZV4y1x7Nv

概念

Http 代理

Http 代理是为 http 连接设立的,实现了超文本传输协议或是 http 的其他的功能。它们采用客户端/服务器的架构模型,目的是代理 http 请求。

http 代理在 http 层面上动作,可以请问该协议所传输的内容。因此,http 代理一般用于加强访问限制,例如:加强防火墙,以及为本地用户,通常是公司的雇员或大学的学生缓存网络数据。

Http 在客户端和目的地之间充当中介,可以通过设置过滤内容或缓存网络数据。同时可以检查流量数据,因此它可以增加一个额外的高级安全层,同时应对和拒绝可疑的数据包,比如:间谍软件或即将进入目标 http 服务器的不当内容。

http 还可以用来添加或修改 http 请求标头,改善对受限目标的访问,降低受阻的概率,提高抓取成功率。

在多数情况下,http 代理可以更快地获得成果(更快的得到响应)。比如,为给定的目标增加每秒实现的请求数量。

http 代理使用的是网络惯常使用的 http 协议,因此更便于在 http 代理用户或 http 开发人员的使用和理解。

Socks 代理

Socks 代理可以与多种传输协议配合使用。和 http 不同的是,socks 不可以解释传输的数据(个人理解:无法处理传输的内容)。

和大多数网络协议或端口兼容,因此可以在多种应用和丰富的场景中使用。

这类代理可以兼容所有流量。Socks 5 支持形式的流量,可以将那些未直接与代理合作的软件封装在 socks 5 隧道中。同时,一些少见的软件客户端或专业级的系统可能只支持 sock5 代理。

Socks 代理可以在”socksifiers”的支持下,应用于通常不支持任何配置的软件。

Socks 代理在大批题工作中运作良好。socks 5 通常用于高容量的应用,如使用 smtp 或 smtp 的批量电子邮件流量,甚至可以用于基于 udp 的视频流。

各个协议的特点

Http 代理

应用场景:需要覆盖众多目标并考虑多种情况的企业

优点:

  1. 可以操纵数据,缓存数据
  2. 可以提供更高级别的安全
  3. 提高对受限目标的成功访问率
  4. 高性能
  5. 简单易用

Socks 代理

优点:

  1. 广泛的兼容性
  2. 支持代理包装
  3. 可以处理对大容量的流量

两者的差异

安全性

Socks 代理不配备标准的隧道加密模式,而 http 代理可以通过多种形式提升安全性。

对于 http 来说,使用隧道加密模式,通过在 https 中相同的实现方式来防止恶意分子在传输过程中窥视和修改数据。同时,数据检查可以用于检测和拒绝可疑的数据包或间谍软件。

功能性

Socks 代理的部署更加灵活,因此它们不受特定网络协议的约束,因此可以兼容更多的应用程序。

http 代理只可以处理 http 流量,但是它们可以解释网络服务器和客户端之间的网络流量。http 代理可以设置为过滤,缓存,修改和附加网络数据。

性能

Socks 代理的有效载荷吞吐量巨大,是通过互联网下载或传输大量数据的理想选择。

http 代理的加载速度优越,就标准大小的 http 请求而言,其能实现的请求量也很出色。

使用建议

如果要完成标准大小的 http 请求或想在代理层面检查应对和修改数据,http 代理就可以满足需求。

Socks 代理是下载和传输大量数据的理想之选,或者是进行 http 以外的网络请求。