HTTP 代理原理及 Python 简单实现

HTTP 代理是一种网络代理服务器(Proxy Server),它能够作为客户端与 HTTP 服务器之间的中介,它的工作原理是:

  1. 当客户端向 HTTP 代理发送 HTTP 请求时,HTTP 代理会收到请求。

  2. HTTP 代理会将请求转发给目标 HTTP 服务器。

  3. 目标 HTTP 服务器处理请求并生成响应。

  4. HTTP 代理将响应转发给客户端。

通过使用 HTTP 代理,客户端可以访问其他服务器的资源,而不需要直接连接其他服务器。这样,客户端的真实地址就被隐藏起来,HTTP 代理也可以提供额外的功能,如缓存网页内容、过滤内容、保护隐私等。

HTTP 代理存在两种形式,分别简单介绍如下:

第一种是普通代理,它是最常见的代理服务器,能够代理 HTTP 协议的网络流量。这种代理仅扮演「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送 HTTP 报文,由于 HTTPS 包经过加密,没法解析,所以也就没法代理 HTTPS 的请求。

第二种是隧道代理,它能够将客户端的请求和响应封装成隧道(Tunnel),并将隧道传输到目标服务器。隧道代理能够代理任意基于 TCP 的应用层协议的网络流量,包括 HTTP 和 HTTPS 协议。

普通代理

第二种 Web 代理原理特别简单:

猜你喜欢

转载自blog.csdn.net/qq_25439417/article/details/132528733