黑洞HTTP代理

黑洞HTTP

您的位置: 首页 > 新闻资讯 > HTTP代理 > 正文

HTTP代理的方式及原理是怎么样的?

发布时间:2018年09月12日 来源:互联网

Web代理是一种存在于网络中间的实体,提供各式各样的功能。现代网络系统中,Web代理无处不在。今天我们就来聊一聊代理对 HTTP 请求及响应的影响。


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


第一种是 RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1.1 协议的第一部分)描述的普通代理。这种代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送 HTTP 报文。


第二种是 Tunneling TCP based protocols through Web proxy servers(通过 Web 代理服务器用隧道方式传输基于 TCP 的协议)描述的隧道代理。它通过 HTTP 协议正文部分(Body)完成通讯,以 HTTP 的方式实现任意基于 TCP 的应用层协议代理。这种代理使用 HTTP 的 CONNECT 方法建立连接,但 CONNECT 最开始并不是 RFC 2616 - HTTP/1.1 的一部分,直到 2014 年发布的 HTTP/1.1 修订版中,才增加了对 CONNECT 及隧道代理的描述,详见 RFC 7231 - HTTP/1.1: Semantics and Content。实际上这种代理早就被广泛实现。


HTTP代理.png

第一种代理


HTTP 客户端向代理发送请求报文,代理服务器需要正确地处理请求和连接(例如正确处理 Connection: keep-alive),同时向服务器发送请求,并将收到的响应转发给客户端。


下面这张图片来自于《HTTP 权威指南》,直观地展示了上述行为:假如我通过代理访问 A 网站,对于 A 来说,它会把代理当做客户端,完全察觉不到真正客户端的存在,这实现了隐藏客户端 IP 的目的。当然代理也可以修改 HTTP 请求头部,通过 X-Forwarded-IP 这样的自定义头部告诉服务端真正的客户端 IP。但服务器无法验证这个自定义头部真的是由代理添加,还是客户端修改了请求头,所以从 HTTP 头部字段获取 IP 时,需要格外小心。


第二种代理


HTTP 客户端通过 CONNECT 方法请求隧道代理创建一条到达任意目的服务器和端口的 TCP 连接,并对客户端和服务器之间的后继数据进行盲转发。


下面这张图片同样来自于《HTTP 权威指南》,直观地展示了上述行为:

HTTP代理.png


假如我通过代理访问 A 网站,浏览器首先通过 CONNECT 请求,让代理创建一条到 A 网站的 TCP 连接;一旦 TCP 连接建好,代理无脑转发后续流量即可。所以这种代理,理论上适用于任意基于 TCP 的应用层协议,HTTPS 网站使用的 TLS 协议当然也可以。这也是这种代理为什么被称为隧道的原因。对于 HTTPS 来说,客户端透过代理直接跟服务端进行 TLS 握手协商密钥,所以依然是安全的。


最后,HTTP 的认证机制可以跟代理配合使用,使得必须输入正确的用户名和密码才能使用代理。


相关文章内容简介

1 HTTP代理的方式及原理是怎么样的?

Web代理是一种存在于网络中间的实体,提供各式各样的功能。现代网络系统中,Web代理无处不在。今天我们就来聊一聊代理对 HTTP 请求及响应的影响。HTTP代理存在两种形式,分别简单介绍如下:第一种是 RFC 7230 - HTTP/1.1: Message Syntax and Routing(即修订后的 RFC 2616,HTTP/1.1 协议的第一部分)描述的普通代理。这种代理扮演的是「中间人」角色,对于连接到它的客户端来说,它是服务端;对于要连接的服务端来说,它是客户端。它就负责在两端之间来回传送 HTTP 报文。第二种是 Tunneling TCP based protocols through Web proxy servers(通过 Web 代理服务器用隧道方式传输基于 TCP 的协议)描述的隧道代理。它通过 HTTP 协议正文部分(Body)完成通讯,以 HTTP 的方式实 [阅读全文]

热门标签

最新标签

推荐阅读

  1. 27

    2019-06

    代理ip的功能是什么,都能用在什么项目?

    我们每次上网的时候都会使用一个ip,一般我们家庭或办公场所的ip都是有限的,但有些有些或者是账号的注册,都会对ip进行限制,所以很多人都会选择代理ip。

  2. 17

    2019-07

    HTTP代理IP有什么优势?

    使用HTTP代理IP,就相当于带着面具去找同一个人打招呼,打招呼一次换一次面具,所以这个人以为是不同人找他,也就不会被封。

  3. 24

    2019-05

    设置代理ip后却不能上网了?

    为什么使用设置代理IP后不能上网了,虽然联网了,还能上QQ,但就是不能访问网站,的确令人着急!

  4. 19

    2019-07

    代理ip服务器保护隐私吗?

    代理服务器的原理相当于一个连接客户端和远程服务器的“中转站”,当我们向远程服务器提出需求后,代理服务器先获取用户的请求,再将服务请求转交至远程服务器,并将远程服务器反馈的

  5. 11

    2019-09

    哪种https代理IP性价比高?

    其实在如今的https代理ip市场上存在着这样一个普遍的现象,很多人很需要这样的功能来对自己进行帮助,但是去到各类平台一查价格却都望而却步。其实主要的原因是这种平台的功能的定价都

  6. 02

    2019-07

    为什么使用HTTP代理IP还是被封呢?

    网络爬虫在如今的互联网领域有着特别的意义,比如我们耳熟能详的大数据,它的发展就离不开网络爬虫。然而网络爬虫也是有天敌的,那就是目标网站的反爬虫策略,爬虫在工作过程中要时刻