HTTP 代理和 HTTPS 代理

代理服务器有多种类型。这些类型可以按协议、活跃用户数量进行分组(共享代理, 私人代理, 和 处女代理)、分配的 IP 地址类型(公共或免费代理, 住宅代理, 移动代理, 和 数据中心代理)和 IP 版本(IPv4 和 IPv6 代理)。不过,本文将重点讨论 HTTP 和 HTTPS 代理,它们属于按协议分类的代理类别。

但首先,让我们讨论一下 HTTP 代理和 HTTPS 代理所基于的协议。

了解 HTTP 和 HTTPS

什么是 HTTP?

超文本传输协议或 HTTP 是一种无状态的应用程序级协议,可促进客户端应用程序(例如 Web 浏览器和 Web 应用程序)与 Web 服务器(或 Web 用户界面服务器)之间的通信。

它是第 7 层协议(或应用层协议),这意味着它旨在在服务器和客户端之间传输数据,反之亦然。 HTTP一般支持多种数据类型的传输。其中包括文本、视频和音频数据,统称为超媒体。

当客户端想要访问存储在服务器上的数据时,它会发送 HTTP 请求。一般来说,HTTP请求包含以下内容:

  • 指定 HTTP 方法(GET、POST、PUT、DELETE 等)、HTTP 版本(如下)以及有关请求目标的其他信息(主机名和端口)的请求行
  • 标头,存储附加信息,例如 cookie
  • 请求消息正文

收到请求并解释消息后,服务器会发送包含所请求数据的 HTTP 响应。

HTTP 是如何工作的?

值得指出的是,HTTP 并不是孤立地执行其功能。事实上,它运行在 传输层协议 (第4层),例如 传输控制协议 (TCP)和 用户数据报协议 (UDP)。此外,它也是基于当时存在的 IP 协议构建的。

就其本身而言,这些第 4 层协议建立、管理和关闭服务器和客户端(网络设备)之间的通信。简而言之,TCP 和 UDP 允许位于第四层之上的网络应用程序(包括使用 HTTP 的应用程序)相互创建客户端-服务器或点对点通信。

一旦建立了通信,HTTP 就会立即开始传输数据。 TCP 或 UDP 通过确保通信顺利运行来管理通信,一旦数据传输停止,这些第 4 层协议就会关闭通信。值得注意的是,TCP 和 UDP 使用端口号来识别彼此“对话”的 Web 应用程序。另一点值得注意的是,最新版本的 HTTP/3 的实现使用 QUIC 而不是 TCP 来进行通信的传输层方面。 (奎克 是在 UDP 上实现的多路复用传输协议。)

HTTP 的历史

经过 Tim Berners-Lee 和他的团队大约两年的开发,HTTP 于 1991 年首次发布。从那时起,该协议经历了 进化 它已经发生了许多变化和改进,从而产生了多个 HTTP 版本。这些版本包括:

  • HTTP/0.9(1991 年推出)
  • HTTP/1.0(1996 年标准化)
  • HTTP/1.1(1997 年推出并标准化)
  • HTTP/2(2015 年标准化)
  • HTTP/3(2022 年推出)

什么是 HTTPS?

虽然 HTTP 是一种在互联网上广泛使用的流行协议,但它也有一些缺陷,其中最主要的是安全性。使用 HTTP,所有信息都以明文形式传输。因此,它很容易被攻击者查看。事实上,如果数据包含信用卡信息、密码、用户名、电话号码、社会安全号码、地址详细信息等敏感数据,则可能会令人担忧。为了解决安全难题,引入了 HTTPS。

安全超文本传输协议 (HTTPS) 是一种安全的 HTTP 协议,可对通过 HTTP 传输的所有数据进行加密。 HTTPS 使用安全套接字层 (SSL) 或传输层安全性 (TLS) 协议来验证 Web 服务器的身份并保护数据。 SSL 使用密钥(公钥和私钥)和数字证书来保护数据,而 TLS 则依靠密码学来加密数据。 TLS 还对客户端和服务器进行身份验证。

HTTPS 的历史

HTTPS 创建于 1994 年。当时主要使用 SSL。然而,在 2000 年晚些时候,使用 TLS 的 HTTPS 被标准化。据观察人士称,TLS 花了数年时间才在信用卡支付之外得到广泛使用。这尤其是因为 TLS 证书需要额外的技术知识才能安装并且需要花钱。因此,它们是不可行的,特别是对于较小的站点。但情况已经发生了变化,网络托管服务和云公司推出了免费加密证书程序并免费提供 HTTPS。到 2017 年, 一半的网络已加密.

基础知识讲完了,现在让我们重点讨论什么是 HTTP 代理和什么是 HTTPS 代理、它们的异同以及用途。

什么是 HTTP 代理?

在解释什么是HTTP代理之前,我们先来了解一下 什么是代理服务器。代理服务器或代理是位于 Web 客户端和 Web 服务器之间的中介。它的工作原理是通过自身路由互联网流量,并在此过程中充当请求的发起者和响应的终止者。通常,有许多代理服务器,每个代理服务器都设计用于服务特定功能。

事实上,有一些代理被配置为代表客户端运行,以便它们被视为请求的发起者和响应的终止者。此类代理称为转发代理。另一方面,一些代理可以配置为代表服务器运行。在执行此角色时,它们似乎是请求终止和响应发起的点。此类代理称为反向代理。顺便说一句,HTTP 代理可以充当正向代理或反向代理,具体取决于配置发生的位置。

那么,什么是HTTP代理服务器呢?它是一个仅通过自身路由 HTTP 流量的代理服务器。 HTTP 代理是一种基于协议的代理 SOCKS5 代理。然而,与 SOCKS5 代理不同的是,SOCKS5 代理本质上是为了促进通过防火墙的通信,HTTP 代理旨在充当高性能内容过滤器。

HTTP 代理通常通过端口 80、8080、8008 和 3128 侦听 HTTP 流量。它还可以通过以下方式侦听 HTTPS 流量: 端口 3129。虽然它主要单独使用,但您可以将其连接到现有代理,特别是如果您正在配置的应用程序已在使用代理服务器。这种安排创建了一个链式代理。

HTTP 代理的类型

HTTP 代理有两种类型,即:

1. HTTP 客户端代理

通常,HTTP 客户端代理会将请求转发给自身(作为中介),然后再将请求转发到服务器或目标目的地。因此,它显示为请求的发起者。

HTTP 客户端代理通过自身路由所有传出 HTTP 请求和传入 HTTP 响应。在此过程中,它解释HTTP请求和响应的所有内容。它还可以改变HTTP请求的某些内容,只要它们符合 Web 内容转换代理指南。一般来说,HTTP 客户端代理会更改特定的 HTTP 标头,包括 user-agent、accept、accept-charset、accept-encoding、accept-language、x-forwarded-for 和 via。它还可以将请求方法从 HEAD 转换为 GET,反之亦然。

Chrome 上 Google.com 的请求标头
Chrome 上 Google.com 的请求标头

配置您的系统以及 Web 浏览器以使用 HTTP 客户端代理(更多内容见下文)可以执行一些操作。首先,它将 HTTP URL 中的 TCP 端点(端口和主机名)更改为属于 HTTP 代理提供程序的端点。因此,在发送到原始/真实主机和端口之前,首先会与 HTTP URL 中的端口和主机之外的不同端口和主机(代理的端口和主机)建立 TCP 连接。这是因为代理不会更改消息的内容,其中包含真实的主机和端口。因此,HTTP代理可以在单个端口上接收请求,然后根据HTTP消息中包含的目的地数据将请求和其中的消息转发到不同的服务器和网站。

2. HTTP 服务器代理

在某些情况下,某些应用程序(例如 Web 服务器上的应用程序)无法配置为发起方,而必须配置为端点。因此,它们对 Web 客户端来说似乎是请求的目的地。当这些应用程序配置为端点时,它们被称为 HTTP 服务器代理。

按匿名排名的 HTTP 代理类型

HTTP 代理的匿名程度有所不同。 HTTP 代理可以分为以下类型:

  1. 透明代理:使用透明代理时,用户通常不会注意到他正在使用代理连接。代理连接仅对网站运营商或服务提供商可见。透明代理的主要优点是它们通过缓存数据来提高连接速度。
  2. 匿名代理:使用匿名代理时,您的 IP 地址是隐藏的。在这种情况下,目标网站可以看到您正在使用代理,但看不到您的实际 IP 地址。
  3. 扭曲代理:这种类型的代理服务器可以被目标网站识别为代理,但会传送错误的 IP 地址。
  4. 精英代理人:这些是匿名代理,会在代理尝试连接到目标网站之前删除用户数据。使用这些类型的代理,目标网站无法检测到正在使用代理,也无法识别用户的 IP 地址。

都是有信誉的 代理提供商 具有 HTTP 代理的服务器仅提供精英代理。

如何设置 HTTP 代理

本节将主要关注如何创建 HTTP 客户端代理。它是通过配置 Web 客户端(浏览器)以通过中介路由 HTTP 流量来创建的。不过,值得注意的是 铬合金, 苹果浏览器, 火狐浏览器和其他流行的浏览器没有应用内(本机)代理服务器设置。

相反,当您单击程序的设置并选择代理选项时,它会将您重定向到 Windows、macOS 或 Linux 代理配置窗口。在这方面,要创建 HTTP 代理,只需配置您的操作系统即可。这样做将创建一个系统范围的 HTTP 代理,该代理可与所有其他 Web 应用程序配合使用,而不仅仅是您首选的浏览器。

要在 Windows 上设置 HTTP 代理,请按照以下步骤操作:

  1. 打开Windows' 设置 > 选择 网络与互联网 > 选择 代理人 标签。或者,您可以使用浏览器打开“代理”选项卡。
  2. 前往 手动代理设置 部分
Windows 的手动代理设置部分
Windows 的手动代理设置部分
  1.  在地址字段中,输入代理主机的 IP 或地址。此外,输入代理端口。您的代理提供商应该向您提供详细信息。
  2. 在“使用代理服务器(以下列条目开头的地址除外)”框下,输入代理服务提供商的 URL
  3. 接下来,检查 不要将代理服务器用于本地(内联网)地址
  4. 点击 节省

要在 macOS 上设置 HTTP 代理,请执行以下步骤:

  1. 点击 系统偏好设置 > 选择 网络 > 单击 先进的 > 选择 代理 标签。或者,您可以使用网络客户端,它将自动打开 代理 标签
MacOS 上的“代理”选项卡
MacOS 上的“代理”选项卡
  1. 接下来,切换 网络代理 (HTTP) 选项
  2. 输入IP和端口 网络服务器代理 (HTTP 代理)。通常,您应该输入代理服务提供商的 IP 并在字段中输入端口 80、8080 或 8008。
  3. 输入 HTTP 代理的用户名和密码。用户名和密码应与您用于访问服务提供商帐户的凭据相同。
  4. 点击 好的.

如果安全性是浏览网页时的主要考虑因素,那么 HTTP 代理并不理想。您理想的情况是寻找 HTTPS 代理。

什么是 HTTPS 代理?

HTTPS 代理也称为 SSL 代理,是一种仅侦听端口 443 上的 HTTPS 流量的中介。因此,它仅通过自身路由 HTTPS 流量。如上所述,HTTPS 对通过协议传输的数据进行加密。这实际上意味着 HTTP 请求和响应的所有元素(包括标头和消息)都隐藏在加密密钥后面。因此,它们只能在端点或终止点查看或解释。对于要解释数据的中介(例如 HTTPS 代理),必须将其配置为端点。

在这方面,HTTPS 代理被配置为充当 TLS 或 SSL 连接的端点。因此,它会解密请求、解释内容、更改请求的某些方面、对其进行加密,最后将它们转发到 HTTP 消息中包含的真实目的地。如前所述,HTTPS 协议使用证书。因此,HTTPS 代理必须使用正确的证书(客户端或服务器证书)对流量进行加密,然后再将其发送到预期目的地。值得注意的是,如果 HTTPS 代理未配置为端点,则它不应更改 HTTP 标头或请求的内容,如 Web 内容转换代理指南中所规定。

HTTPS 代理通常用于通过执行加密来保护 Web 服务器或 Web 客户端。

HTTPS 代理的类型

HTTPS 代理有两种类型:

1. HTTPS 客户端代理

HTTPS 客户端代理有助于从 Web 客户端或内部网络到 Internet 的连接。要设置 HTTPS 客户端代理,您必须导入客户端证书以供安装代理的设备使用。这使得中介能够解密和加密数据,就好像它是请求的发起者或响应的终止者一样。

2. HTTPS 服务器代理

HTTPS 服务器代理允许通过互联网从外部 Web 客户端连接到内部 Web 服务器。 HTTPS 服务器代理与 HTTP 服务器代理不同,因为前者使用证书,而后者不使用证书。要设置 HTTPS 服务器代理,将 Web 服务器使用的默认证书导出到代理非常重要。该证书使 HTTPS 服务器代理能够加密和解密数据。

如何设置 HTTPS 代理

设置 HTTPS 代理遵循上述详细过程,仅在所使用的端口方面略有不同。每次创建 HTTPS 代理时,请务必确保在端口字段中输入 443。如果您使用的是 macOS 设备,请注意,您必须选择 安全网络代理 (HTTPS) 选项而不是 网络代理 (HTTP)。除此之外,程序基本相同。

通过 HTTPS 代理的连接有多安全?

当使用HTTPS代理的用户打开地址栏左侧有“锁定图标”的网页时,用户浏览器和目标站点服务器之间的整个连接都会被加密(SSL加密):

通过 HTTPS 代理连接的安全性如何?
通过 HTTPS 代理连接的安全性如何?

这意味着用户在键盘上输入的所有数据(登录名和密码、信用卡号等)、下载、上传或流式传输的图像和视频均保持绝对私密。

浏览器 <-> HTTPS 代理 <-> 目标页面

这意味着它们只有目标网站的用户和所有者知道。

代理服务可以“监听”流量吗?

不,这在技术上是不可能的。代理提供商只能猜测用户正在尝试破解任何网站上帐户的密码。从访问目标站点登录页面的频率可以明显看出这一点。如果用户使用暴力程序以每分钟一百万次的频率执行此操作,就会发生这种情况。

HTTP 代理与 HTTPS 代理:异同

HTTP 和 HTTPS 代理之间的相似之处

  • 它们可以在客户端或服务器端配置
  • HTTP 和 HTTPS 代理解释通过它们传输的数据
  • 代理通过端口监听流量
  • 客户端代理将所有请求转发到目标目的地
  • 客户端代理可用于促进网络抓取

HTTP 和 HTTPS 代理之间的差异

  HTTP 代理 HTTPS 代理
港口 他们使用端口 80、8080、8008、3128 或 3129 他们使用端口 443
安全 HTTP 代理路由未加密的数据 HTTPS 代理路由加密数据
协议 他们主要使用HTTP协议 他们主要使用 HTTPS 协议
交通 它们可以监听 HTTP(通过端口 80、8080、8008、3128)和 HTTPS 流量(通过端口 3129) 他们只能通过端口 443 监听 HTTPS 流量

HTTP 和 HTTPS 代理的使用

HTTP 客户端代理和 HTTPS 客户端代理的使用

1. 网页抓取

网页抓取 指使用称为网络抓取工具的机器人从网站提取数据的自动化过程。通常,这些机器人旨在提取大量数据,这可能会不必要地侵占资源,从而给网络服务器带来压力。因此,大多数大型网站现在都在实施反抓取措施,旨在阻止任何数据提取工作。幸运的是,您可以使用 HTTP 代理来解决这个问题。

在数据提取方面,HTTP 代理大多被忽视。这是因为住宅代理、移动代理或数据中心代理是首选,因为它们屏蔽了运行抓取工具的计算机的 IP 地址。它同时分配不同的 IP 地址,有效地提供在线匿名性。此外,它还可以保护真实 IP 地址不被阻止或禁止。如果定期轮换IP地址,则阻塞的机会会进一步减少。但本文不是关于住宅或数据中心代理。那么,HTTP 代理和 HTTPS 代理如何用于网页抓取呢?

如上所述,HTTP 或 HTTPS 代理可以更改某些 HTTP 请求标头。其中包括用户代理、接受语言、接受编码和接受,仅举几例。用户代理存储有关您的操作系统(类型和版本)、正在使用的客户端应用程序(Web 浏览器)和浏览器引擎的信息。此信息允许网络服务器识别设备的类型和用于访问它的软件。然后,它使用此信息创建与用户关联的在线身份。通过更改用户代理,HTTP 代理和 HTTPS 代理可以使请求看起来好像来自不同的设备。这会促进网络抓取,因为数据提取请求似乎是由多个设备发送的。

2. 内容过滤

HTTP 客户端代理或 HTTPS 客户端代理可以配置为仅转发特定请求 - 此类请求必须满足某些规则。例如,它们必须通过指定端口发送。如果 HTTP 客户端使用 80、8080、8008、3128 或 3129 以外的端口,则访问将被拒绝。

此外,您还必须指定 HTTPS 或 HTTP 代理在检查进出客户端的流量时应查看的内容类型。如果内容与设置中指定的条件不匹配,则流量将被阻止。反之,如果内容匹配,则允许通过中介。

3. 确保通信安全 

HTTP 代理可以配置为将入站数据从纯文本转换为 HTTPS 服务器可以接受的安全、加密的出站数据。但是,此配置很不寻常,但它涉及端口 3130 的使用,该端口是处理纯文本到 SSL 通信的端口。

另一方面,HTTPS 通过加密来代理安全通信。通过这种方式,HTTPS 代理可以减少网络攻击的机会,从而促进网络安全。

4. 社交媒体管理

到目前为止,众所周知,HTTP 代理会修改 HTTP 标头的某些方面。因此,通过更改用户代理,这些中介可以造成请求源自不同设备的假象。这可以允许用户创建和管理多个社交媒体帐户。

HTTP 服务器代理和 HTTPS 服务器代理的使用

1. 限制 Web 服务器的流量

服务器端代理可以配置为接受满足某些规则的流量。因此,它们会阻止不符合要求的流量。通过这种方式,他们通过确保服务器不处理不必要的请求来保护服务器。

2. 保护 Web 服务器的安全

服务器端代理可以解密来自 Web 客户端的数据并随后解释它们。此操作使他们能够过滤请求,扫描其中是否有恶意软件或其他恶意文件。因此,它们可以保护网络服务器免受网络攻击。

3. 缓存经常访问的文件

HTTP 服务器代理和 HTTPS 服务器代理可以存储经常访问的文件,例如图像和页面。这释放了 Web 服务器,使其能够将资源用于其他不太常见的操作。它还提高了网页的加载速度。

结论 

HTTP 代理和 HTTPS 代理是有用的中介,特别是从安全和内容过滤的角度来看。事实上,它们被称为高性能内容过滤器。这是因为它们可以配置为仅允许特定的互联网流量通过。这些代理还提供许多其他功能,包括保护网络服务器、存储经常访问的文件、社交媒体管理、网络抓取等等。

选择并购买代理

选择类型、位置和数量,即时查看价格。

选择并购买代理