精华内容
下载资源
问答
  • HTTP代理服务器 - CONNECT SSL/TLS 原理

    千次阅读 2019-05-21 11:50:09
    HTTP代理服务器 - CONNECT SSL/TLS 原理 来自于《HTTP 权威指南》 其他资源 HTTP 隧道代理原理和实现 HTTP、HTTPS代理分析及原理 HTTP 代理原理及实现 http proxy原理 ...

    HTTP代理服务器 - CONNECT SSL/TLS 原理

    来自于《HTTP 权威指南》
    在这里插入图片描述

    其他资源

    HTTP 隧道代理原理和实现
    HTTP、HTTPS代理分析及原理
    HTTP 代理原理及实现
    http proxy原理

    展开全文
  • HTTP代理穿透原理

    2011-11-20 23:58:28
    HTTP代理穿透原理 HTTP代理服务器中能够提供一种HTTP CONNECT代理服务,能够允许用户建立TCP连接到任何端口。通过CONNECT方法穿透代理的实现方法为: CONNECT代理服务器的代理端口(如:8080);如果成功返回就...
      
    HTTP代理穿透原理
    HTTP代理服务器中能够提供一种HTTP CONNECT代理服务,能够允许用户建立TCP连接到任何端口。通过CONNECT方法穿透代理的实现方法为:
    CONNECT代理服务器的代理端口(如:8080);如果成功返回就可以按照正常的Socket进行通讯。当然在此之前需要先获得代理相关的信息。
    如何获取HTTP代理相关信息
    程序中是通过读取注册表来获取计算机HTTP代理相关信息的,在注册表的\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings键值下就保存着HTTP代理服务器及端口等信息,
    根据该键值下的ProxyEnable值可以判断是否有HTTP代理,没有代理的情况下ProxyEnable值为0。
    当然一般情况下程序去中访问该键值可能是受限的,所有就需要获取到访问令牌不受限制的UserSid,使用该UserSid去读取HTTP代理信息。
    通过HTTP代理代码片段
    网络上摘一点代码,原理大概上能实现了的
    memset(buff,0,sizeof(buff));
    sprintf(buff,"CONNECT %s:%d HTTP/1.1\r\nAccept: */*\r\nContent-Type: text/html\r\nProxy-Connection: Keep-Alive\r\nContent-length: 0\r\n\r\n",lpszHost,nPort);
    send(m_Socket,buff,strlen(buff),0);
    ........
    memset(buff,0,sizeof(buff));
    recv(m_Socket, buff, sizeof(buff), 0);
    if(strstr(buff,"200 Connection")!=NULL)
    return true;//连接成功
    此外,如果是GET/POST代理你也可以模拟发post和get包,这个没什么说的,熟悉http协议就可以游刃有余的去编程了!主要是需要用大白鲨或其他http截包工具去分析调试。但是,对于客户服务端程序这样就需要额外添加一个中间跳板空间来中转数据。这本身又是很影响速度的。而post每次传输的数据还是有点经不起用
    展开全文
  • http代理服务器 代理&原理 Fiddler就是个典型的代理 Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销代理,这样就不会影响别的程序。 代理的...

    http代理服务器

    正向代理代理的对象是客户端,反向代理代理的对象是服务端
    正向代理中,proxy和client同属一个LAN,对server透明;
    反向代理中,proxy和server同属一个LAN,对client透明。

    代理&原理

    在这里插入图片描述

    Fiddler就是个典型的代理

    Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1, 端口:8888. 当Fiddler退出的时候它会自动注销代理,这样就不会影响别的程序。

    代理的作用

    主要功能如下:

    1) 翻.墙
    找代理服务器很麻烦, 一般都是用翻.墙软件来自动发现代理服务器的。

    2)匿名访问
    HTTP代理服务器通过删除HTTP报文中的身份特性(比如客户端的IP地址, 或cookie,或URI的会话ID), 从而对远端服务器隐藏原始用户的IP地址以及其他细节。 同时HTTP代理服务器上也不会记录原始用户访问记录的log(否则也会被查到)。

    3)通过代理上网
    比如局域网不能上网, 只能通过局域网内的一台代理服务器上网。

    4)过滤器
    很多教育机构, 会利用过滤器代理来阻止学生访问成人内容。

    5)通过代理缓存,加快上网速度
    大部分代理服务器都具有缓存的功能,就好像一个大的cache, 它有很大的存储空间,它不断将新取得数据存储到它本地的存储器上, 如果浏览器所请求的数据在它本机的存储器上已经存在而且是最新的,那么它就不重新从Web服务器取数据,而直接将存储器上的数据传给用户的浏览器,这样就能显著提高浏览速度。

    反向代理

    比喻:反向代理隐藏了真实的服务端,当请求 www.baidu.com 时,就像拨打10086一样,背后有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器。
    在这里插入图片描述
    由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂拥而入时,会造成服务器忙不过来的局面,可以使用多个服务器来共同分担成千上万的用户请求,这些服务器提供相同的服务,对于用户来说,根本感觉不到任何差别。

    反向代理的作用

    1.缓存,加速了对网站访问速度,减轻web服务器的负担,反向代理具有缓存网页的功能,如果用户需要的内容在缓存中,则可以直接从代理服务其中获取,减轻了web服务器的负荷,同时也加快了用户的访问速度。
    2.负载均衡,将用户请求分配给多个服务器。
    3.访问控制;保护了真实的web服务器,web服务器对外不可见,外网只能看到反向代理服务器,而反向代理服务器上并没有真实数据,因此,保证了web服务器的资源安全;
    4.防止主服务器被恶意攻击,加上一些特殊的东西做特殊的事情(如IPS—入侵防御系统、web应用防火墙等)所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。

    反向代理的原理

    反向代理服务器通常有两种模型,它可以作为内容服务器的替身,也可以作为内容服务器集群的负载均衡器。

    1,作内容服务器的替身

    如果您的内容服务器具有必须保持安全的敏感信息,如信用卡号数据库,可在防火墙外部设置一个代理服务器作为内容服务器的替身。当外部客户机尝试访问内容服务器时,会将其送到代理服务器。实际内容位于内容服务器上,在防火墙内部受到安全保护。代理服务器位于防火墙外部,在客户机看来就像是内容服务器。

    当客户机向站点提出请求时,请求将转到代理服务器。然后,代理服务器通过防火墙中的特定通路,将客户机的请求发送到内容服务器。内容服务器再通过该通道将结果回传给代理服务器。代理服务器将检索到的信息发送给客户机,好像代理服务器就是实际的内容服务器。如果内容服务器返回错误消息,代理服务器会先行截取该消息并更改标头中列出的任何 URL,然后再将消息发送给客户机。如此可防止外部客户机获取内部内容服务器的重定向 URL。

    这样,代理服务器就在安全数据库和可能的恶意攻击之间提供了又一道屏障。与有权访问整个数据库的情况相对比,就算是侥幸攻击成功,作恶者充其量也仅限于访问单个事务中所涉及的信息。未经授权的用户无法访问到真正的内容服务器,因为防火墙通路只允许代理服务器有权进行访问。

    可以配置防火墙路由器,使其只允许特定端口上的特定服务器(在本例中为其所分配端口上的代理服务器)有权通过防火墙进行访问,而不允许其他任何机器进出。
    在这里插入图片描述
    2,作为内容服务器的负载均衡器

    可以在一个组织内使用多个代理服务器来平衡各 Web 服务器间的网络负载。在此模型中,可以利用代理服务器的高速缓存特性,创建一个用于负载平衡的服务器池。此时,代理服务器可以位于防火墙的任意一侧。如果 Web 服务器每天都会接收大量的请求,则可以使用代理服务器分担 Web 服务器的负载并提高网络访问效率。

    对于客户机发往真正服务器的请求,代理服务器起着中间调停者的作用。代理服务器会将所请求的文档存入高速缓存。如果有不止一个代理服务器,DNS 可以采用“循环复用法”选择其 IP 地址,随机地为请求选择路由。客户机每次都使用同一个 URL,但请求所采取的路由每次都可能经过不同的代理服务器。

    可以使用多个代理服务器来处理对一个高用量内容服务器的请求,这样做的好处是内容服务器可以处理更高的负载,并且比其独自工作时更有效率。在初始启动期间,代理服务器首次从内容服务器检索文档,此后,对内容服务器的请求数会大大下降。
    在这里插入图片描述
    反向代理的实现

    1)需要有一个负载均衡设备来分发用户请求,将用户请求分发到空闲的服务器上
    2)服务器返回自己的服务到负载均衡设备
    3)负载均衡将服务器的服务返回用户
    以上的潜台词是:用户和负载均衡设备直接通信,也意味着用户做服务器域名解析时,解析得到的IP其实是负载均衡的IP,而不是服务器的IP,这样有一个好处是,当新加入/移走服务器时,仅仅需要修改负载均衡的服务器列表,而不会影响现有的服务

    展开全文
  • 浅析HTTP代理原理

    2019-10-07 18:42:19
    关于HTTP代理的文章有很多,本文不再...本文主要介绍代理的事例,分析一个真实的案例来帮助理解HTTP代理原理HTTP代理原理 下面分析一个 http://iflow.uczzd.cn/iflow/api/v1/client_event?app=uc-iflow......

    代理服务器是HTTP协议中一个重要的组件,发挥着重要的作用。 关于HTTP代理的文章有很多,本文不再赘述,如果不清楚的可以看一下 HTTP代理的基础知识

    本文主要介绍代理的事例,分析一个真实的案例来帮助理解HTTP代理的原理。

    HTTP代理的原理

    下面分析一个 http://iflow.uczzd.cn/iflow/api/v1/client_event?app=uc-iflow...经过代理服务器的HTTP请求。 iflow.uczzd.cn的公网IP是140.205.136.82(各地测试到的IP有可能不同),我的局域网IP是192.168.100.115,代理服务器的IP是192.168.16.35

    再简单说一下HTTP请求的流程: 192.168.100.115140.205.136.82发送HTTP请求,其中192.168.16.35是代理服务器。

    一、 监控请求

    通过网络监控获取到的HTTP请求如下:

    网络监控HTTP请求

    可以看到在网络监控中,有两个HTTP请求,一个是向代理服务器发送的HTTP,另一个是代理服务器想目标服务器发送的HTTP请求。这两个请求的请求体是一样的,如下图:

    客户端向代理服务器发送的HTTP报文:

    发向Proxy服务器

    代理服务器想目标服务器发送的HTTP报文:

    发向目标服务器

    二、 推测处理流程

    可以看到,两张图片的HTTP报文是相同的(也有可能Header不同),我们可以推测出客户端和代理服务器的处理流程,如下:

    客户端的处理流程:

    客户端的处理流程

    代理服务器的处理流程:

    代理服务器的处理流程

    三、 验证推测的处理流程

    在推测出客户端和代理服务器的处理逻辑后,我们需要验证我们的推测是否正确。

    我们可以构造一个TCP请求,客户端连接到代理服务器,发送HTTP报文,报文的内容是客户端直接发送到服务器的内容。

    例如:直接访问 http://www.cnblogs.com/tgwang/的HTTP报文是:

    GET http://www.cnblogs.com/tgwang/ HTTP/1.1
    Host: www.cnblogs.com
    Connection: close
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36
    Referer: http://www.cnblogs.com/
    Accept-Encoding: gzip, deflate, sdch
    Accept-Language: zh-CN,zh;q=0.8
    Cookie: ***
    If-Modified-Since: Sat, 30 Jan 2016 02:48:23 GMT

    我们构造一个TCP请求,连接代理服务器,报文的内容也是发送上面的报文,看代理服务器能否正常请求博客园的数据,如果可以正常请求,说明我们对于客户端和代理服务器推测是正确的,如果没有请求博客园数据,而是返回代理服务器的相关信息,表示推测错误。

    下面我使用python向代理服务器127.0.0.1:8888发送一个TCP请求,为了在代理服务器中能找到此请求,我在Header中增加了一个Token,使用UUID标识(见红框)。

    Python发送HTTP请求

    运行程序,发送TCP请求,报文如下:

    proxy请求报文

    查看代理服务器的信息,可知,HTTP请求正常发送到博客园,并且正常响应,如下图:

    代理服务器监控

    到此推测验证完成,符合预期结果

    书本上的理论看多了,就以为自己看懂了,然而我们真的懂了吗?没动手实践过能算是懂了吗

    转载于:https://www.cnblogs.com/tgwang/p/5170480.html

    展开全文
  • HTTP代理原理

    2018-08-04 14:47:23
    当我们访问一个网站时,如果没有代理: 非代理:输入xx.com-->xx.com 但是用了代理服务器时,我们输入xx.com会先请求代理服务器,代理服务器可以把请求原封不动发给xx.com的服务器,也可以把请求劫持到另一...
  • HTTP 代理原理及实现

    千次阅读 2019-04-25 11:50:34
    Web 代理是一种存在于网络中间的...今天这篇文章,我打算谈谈 HTTP 代理本身的一些原理,以及如何用 Node.js 快速实现代理HTTP 代理存在两种形式,分别简单介绍如下: 第一种是RFC 7230 - HTTP/1.1: Message Sy...
  • HTTP代理原理探索

    千次阅读 2017-07-04 19:26:04
    如果没有 Web 代理HTTP 客户端就要直接与 HTTP 服务器进行对话。有了 Web 代理,客户端就可以与代理进行对话,然后由代理代表客户端与服务器进行交流。客户端仍然会完成对事务的处理,但它是通过代理服务器提供的...
  • HTTP 代理原理与实现

    千次阅读 2019-04-16 14:07:48
    HTTP 代理原理与实现 HTTP 客户端向代理发送请求报文,代理服务器需要正确地处理请求和连接(例如正确处理 Connection: keep-alive),同时向服务器发送请求,并将收到的响应转发给客户端。 假如我通过代理访问 A ...
  • HTTP代理原理以及HTTP隧道技术

    千次阅读 2017-02-16 10:46:20
    HTTP代理原理 通过HTTP协议与代理服务器建立连接,协议信令中包含要连接到的远程主机的IP和端口号,如果有需要身份验证的话还需要加上授权信息,服务器收到信令后首先进行身份验证,通过后便与远程主机建立连接,...
  • HTTP代理原理以及HTTP隧道技术(经典)
  • http代理原理及实现

    2013-10-24 17:15:10
    实例http代理。有客户端和服务器端。Soket实现
  • Fiddler是一款强大Web调试工具,它能记录所有...工作原理Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888Fiddler工作原理Fiddler抓取HTTPS设置1.启动Fiddler,打开菜单栏中的 Tools...
  • 浅析HTTP代理原理--转

    2019-04-29 16:39:00
    关于HTTP代理的文章有很多,本文...本文主要介绍代理的事例,分析一个真实的案例来帮助理解HTTP代理原理HTTP代理原理 下面分析一个http://iflow.uczzd.cn/iflow/api/v1/client_event?app=uc-iflow...经过...
  • Atitit http 代理原理 atiHttpProxy 大木马
  • http 反向代理原理

    2016-02-17 17:23:27
    反向代理:客户端将用户的请求发往代理服务器,代理服务器偷偷的在后台请求真正的服务器,然后将结果保存在本地,然后将数据返回给客户端,这样就好像代理服务器是真实的提供数据的服务器一样。nginx服务器常用来做...
  • HTTP代理IP的工作原理

    2021-03-10 17:12:11
    相信大家对HTTP代理IP并不陌生,那么,它是如何实现在我们使用代理访问IP网站时,隐藏IP地址的呢?下面就给大家详细介绍下相关信息。 客户机在将请求发送到原始服务器前,可以先将请求转发到代理服务器,由代理...
  • 1.代理服务器 代理服务器(Proxy Server)的功能是代理网络用户去取得网络信息,它是网络信息的中转站,是个人网络和Internet服务商之间的中间代理机构,负责转发网络信息。...(1) HTTP代理 :能够代...
  • (一)HTTP代理原理 HTTP 客户端向代理发送请求报文,代理服务器需要正确地处理请求和连接(例如正确处理 Connection: keep-alive),同时向服务器发送请求,并将收到的响应转发给客户端。 举个例子,当我们在浏览器...
  • HTTP代理服务器的工作原理

    千次阅读 2019-05-29 22:35:49
    ​ 在HTTP通信链上,客户端和目标服务器之间通常存在某些中转代理服务器,它们提供对目标资源的中转访问。一个HTTP请求可能被多个代理服务器转发,后面的服务器称为前面服务器的上游服务器。代理服务器按照其使用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,089
精华内容 1,235
关键字:

原理http代理