IP代理软件,http代理,API提取-黑洞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. 22

    2019-03

    设置代理后ip不变,是否是透明代理?

    透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改变你的request fields(报文),并会传送真实IP,多用于路由器的NAT转发中。注意,加密的透明代理则是属于匿名代理,意思是

  2. 24

    2019-04

    使用网页换IP软件可以提高工作效率吗?

    在经济全球化大趋势下,网页换IP软件在过去的几年里为市场创造了不少价值,并成功带动不少效果补量产业发展。为何网页换IP软件能取得如此成就,归根究底还是因为它有效提高互联网从业

  3. 29

    2019-07

    使用http代理服务器的原因

    现在网络上有很多能够提供http代理服务器的网站和软件,那么我们在选择的时候需要考虑哪些因素呢在选择http代理服务器网站的时候,尽量选择那些正规的网站。有些网站虽然也提供http代理的

  4. 22

    2019-04

    IP代理软件市场上的发展现状是怎么样的?

    自从第一款的IP转换软件出现后,代理软件得到了蓬勃发展。如今的多如牛毛IP代理软件市场,短短几年的时间,市面的此类软件真假难辨,花样百出。今天为大家讲解一些关于代理软件市场的发

  5. 08

    2019-04

    Java中的代理IP机制

    代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。

  6. 20

    2019-03

    HTTP代理是如何爬取数据的

    第一种为普通代理。这种http代理扮演得是一个中介得角色,对于链接到他的客户端来说,他就是服务器,而对于服务端来说他就是客户端。他的任务就是负责两个端口之间传送http报文。