您的位置:时时app平台注册网站 > 编程知识 > 你实在驾驭代理和反向代理的差距吧?

你实在驾驭代理和反向代理的差距吧?

2019-10-11 01:09

统一认证服务器:做为全系统登录认证服务器

Web服务器可以将短的重定向报文发回给客户端,告诉他们去其他地方试试。有些Web站点会将HTTP重定向作为一种简单的负载均衡形式来使用。处理重定向的服务器找到可用的负载最小的内容服务器,并将浏览器重定向到那台服务器上去

代理与网关的区别

严格来说,代理连接的是两个或多个使用相同协议的应用程序,而网关连接的则是两个或多个使用不同协议的端点。网关扮演的是“协议转换器”的角色,即使客户端和服务器使用的是不同的协议,客户端也可以通过它完成与服务器之间的事务处理。

图片 1

代理与网关的区别 1-2

职责:

图片 2

举个例子

评论里大家都说太晦涩难懂,因此举个栗子,希望大家能够更好的理解。
代理的使用:由于google退出中国市场等特殊原因,我们是无法直接访问www.google.com的,如果你想访问,就可以通过代理的方式,你的网络请求经过代理 d, d访问 www.google.com,然后把请求的结果再返回给你,然后你就能够访问google了,是不是很神奇,代理就是它帮你访问你访问不了的服务,并把结果给你。
反向代理的使用:当你通过代理d访问google服务时,会有反向代理服务器来f来接受d的请求,并把d的请求转发给真正提供google服务的服务器 g,g处理完请求后,将结果返回给f,f再返回给d,然后你才能看到结果。那你会问为什么不直接访问g呢,这是因为提供google服务的是一个很庞大的集群,也就是有很多g(g1,g2....gN),你的请求被哪一个g来处理,是由反向代理服务器来做的,这也是反向代理服务器最典型的应用场景,负载均衡,当然负载均衡的策略也有很多,比如随机分配,根据吞吐能力分配,根据相应时长分配等等,后期也可以写一篇文章,详细说下,当然你也可以搜索下,网上相关资料也很多。

图片 3

下面是HTTP重定向的工作过程

Web代理服务器是网络的中间实体

    Web 上的代理服务器是代表客户端完成事务处理的中间人。如果没有 Web 代理,HTTP 
客户端就要直接与 HTTP 服务器进行对话。有了 Web 代理,客户端就可以与代理进行对话,然
后由代理代表客户端与服务器进行交流。客户端仍然会完成对事务的处理,但它是通过代理服
务器提供的优质服务来实现的。
    HTTP 反向代理服务器既是 Web 服务器又是 Web 客户端。HTTP 客户端会向代理发送请
求报文,反向代理服务器必须像 Web 服务器一样,正确地处理请求和连接,然后返回响应。同
时,反向代理自身要向服务器发送请求,这样,其行为就必须像正确的 HTTP 客户端一样,要发
送请求并接收响应(参见图 1-1)。如果要创建自己的 HTTP 反向代理服务器,就要认真地遵
循为 HTTP 客户端和 HTTP 服务器制定的规则。

武器一:客户端分区请求

Host: www.joes-hardware.com

代理的不同用途

代理服务器可以实现各种时髦且有用的功能。它们可以改善安全性,提高性能,节省费用。代理服务器可以看到并接触到所有流过的 HTTP 流量,所以代理可以监视流量并对其进行修改,以实现很多有用的增值 Web 服务。这里给出了几种代理使用方法的示例。

  • 儿童过滤
    小学在为教育站点提供无阻碍访问的同时,可以利用过滤器代理来阻止学生访问成人内容。如图 1-3 所示,代理应该允许学生无限制地访问教育性内容,但对不适合儿童的站点要强行禁止访问。现在的家庭路由器也基本都带有这个功能了。

图片 4

儿童安全的因特网过滤器 1-3

  • 文档访问控制
    可以用代理服务器在大量 Web 服务器和 Web 资源之间实现统一的访问控制策略,创建审核跟踪机制。这在大型企业环境或其他分布式机构中是很有用的。
    在集中式代理服务器上可以对所有访问控制功能进行配置,而无需在众多由不同组织管理、不同厂商制造、使用不同模式的 Web 服务器上进行经常性的访问控制升级。

图片 5

集中式文档访问控制 1-4

  • 安全防火墙
    网络安全工程师通常会使用代理服务器来提高安全性。代理服务器会在网络中的单一安全节点上限制哪些应用层协议的数据可以流入或流出一个组织。还可以提供用来消除病毒的 Web 和 E-mail 代理使用的那种挂钩程序,以便对流量进行详细的检查(参见图 1-5)。

图片 6

安全防火墙 1-5

  • Web 缓存
    代理缓存维护了常用文档的本地副本,并将它们按需提供,以减少缓慢且昂贵的因特网通信。在图 1-6 中,客户端 1 和客户端 2 会去访问附近 Web 缓存上的对象 A,而客户端 3 和客户端 4 访问的则是原始服务器上的文档。

图片 7

Web 缓存 1-6

  • 反向代理
    代理可以假扮 Web 服务器。这些被称为替代物(surrogate)或反向代理(reverse proxy)的代理接收发给 Web 服务器的真实请求,但与 Web 服务器不同的是,它们可以发起与其他服务器的通信,以便按需定位所请求的内容。可以用这些反向代理来提高访问慢速 Web 服务器上公共内容时的性能。在这种配置中,通常将这些反向代理称为服务器加速器(server accelerator)(参见图 1-7)。还可以将替代物与内容路由功能配合使用,以创建按需复制内容的分布式网络。

图片 8

反向代理 1-7

  • 内容路由
    代理服务器可以作为“内容路由器”使用,根据因特网流量状况以及内容类型将请求导向特定的 Web 服务器。内容路由器也可以用来实现各种服务级的请求。比如,如果用户或内容提供者付费要求提供更高的性能,内容路由器可以将请求转发到附近的复制缓存(参见图 1-8),或者如果用户申请了过滤服务,还可以通过过滤代理来转发 HTTP 请求。可以用自适应内容路由代理来构建很多有趣的服务。

图片 9

内容路由器 1-8

  • 转码器
    代理服务器在将内容发送给客户端之前,可以修改内容的主体格式。在这些数据表示法之间进行的透明转换被称为转码(transcoding)。转码代理可以在传输 GIF 图片时,将其转换成 JPEG 图片,以减小尺寸。也可以对图片进行压缩,或降低颜色的色彩饱和度以便在电视上观看。同样,可以对文本文件进行压缩,并为能够使用因特网的呼机和智能手机生成小型的文本摘要 Web 页面。代理甚至可以在传输文档的过程中将其转换成外语。图 1-9 显示了一个转码代理,这个代理可以将英语文本转换成西班牙语文本,将 HTML 页面重新格式化为较简单的文本,以便显示在手机的小屏幕上。

图片 10

内容转码器 1-9

使用该方式,需要做的工作有:

301 redirect::301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎最友好的方法,只要不是暂时搬移的情况,都建议使用301来做转址。

引文

相信大家对web代理(proxy)都不陌生,工作和生活中都经常用到,特别是对翻墙的同学可能更加熟悉,亦或是玩游戏的同学经常购买网游加速器也是代理的一种。当然你说我这些场景都没有,那你也有可能使用代理服务器,比如你用的各种高速浏览器基本都是走了代理服务器,才提高网速,甚至上一些国内不能上的网站。那反向代理是个啥鬼呢,其实用一句最简单的话解释,代理是代替客户端去访问服务器,反向代理是代替服务器接受客户端的请求。反向代理只是被代替的对象的改变,从客户端改为服务器。如果把代替客户端的代理称为正向代理,那么代替服务器的代理,就是我们称作的反向代理,这也是为什么称之为反向的原因。从下图能让大家有个直观的感受。其实代理和反向代理都可以统称为代理服务器,只是使用的场景和用途不同,起的方便区分用途的名字罢了。

图片 11

代理服务器和反向代理服务器扮演的角色不同 1-1

第一部分:客户端连接部分

现在,在图c中,浏览器会用重定向URL重新发送请求,这次会发送给主机161.58.228.45

私有和公共代理

代理服务器可以是某个客户端专用的,也可以是很多客户端共享的。单个客户端专用的代理被称为私有代理。众多客户端共享的代理被称为公共代理。

  • 公共代理
    大多数代理都是公共的共享代理。集中式代理的成本效率更高,更容易管理。某些代理应用,比如高速缓存代理服务器,会利用用户间共同的请求,这样的话,汇入同一个代理服务器的用户越多,它就越有用。
  • 私有代理
    专用的私有代理并不常见,但它们确实存在,尤其是直接运行在客户端计算机上的时候。有些浏览器辅助产品,以及一些 ISP 服务,会在用户的 PC 上直接运行一些小型的代理,以便扩展浏览器特性,提高性能,或为免费 ISP 服务提供主机广告。

使用该方式,需要做的工作有:

HTTP重定向可以在服务器间导引请求,但它有以下几个缺点:需要原始服务器进行大量处理来判断要重定向到哪台服务器上去。有时,发布重定向所需的处理量几乎与提供页面本身所需的处理量一样;增加了用户时延,因为访问页面时要进行两次往返;如果重定向服务器出故障,站点就会瘫痪

网关代理服务器:负责客户端发过来的消息进行录音转发给逻辑服务器来处理,逻辑服务器与玩家无直接通道。

User-Agent: Mozilla/4.51 [en] (X11; U; IRIX 6.2 IP22)

使用场景二:根据客户端所在的地点与网络,选择不同的网络通道或不同物理区域的服务站点发起访问,这样可以优化用户访问速度,提升用户体验。

另一个客户端可能会被重定向到另一台服务器上去。在图d-f中,Bob的请求会被重定向到161.58.228.46

分区游戏服务器架构如图:

常用的重定向方式有: 301 redirect, 302 redirect 与meta fresh:

数据服务器:负责数据缓存与持久化,也执行一些业务逻辑。

以上是武器三http重定向介绍,后面还有更多的武器介绍,请关注我,每天更新,谢谢

使用场景一:游戏分区,用户根据服务站点繁忙程度选择游戏一区、游戏二区等不同分区,每个分区固定最高用户数。这样实现了用户分流,当在线用户增多时,再增加游戏分区就可以了。

Host: 161.58.228.45

1) 需要有统一网速检测页面,如登录欢迎页面;

User-Agent: Mozilla/4.51 [en]你实在驾驭代理和反向代理的差距吧?。 (X11; U; IRIX 6.2 IP22)

武器一:客户端分区请求。从客户端源头解决问题,由客户端主动选择不同服务地址发起请求,让请求分发到不同的服务地址。该方案也可以实现对高并发的分流处理,常用于游戏,有多个使用场景:

对广泛分布的Web站点来说,确定“最佳”的可用服务器会更复杂一些,不仅要考虑到服务器的负载,还要考虑到浏览器和服务器之间的因特网距离。与其他一些形式的重定向相比,HTTP重定向的优点之一就是重定向服务器知道客户端的IP地址,理论上来讲,它可以做出更合理的选择

图片 12

使用场景二:根据用户请求的ip、用户id等信息,将用户重定向到不同的服务站点,实现按用户分区访问。

逻辑服务器:收到客户端à网关代理服务器à逻辑服务器过来的消息进行玩家的逻辑处理。

使用场景一:未登录用户重定向到登录站点。服务端通过检查cookies或者session后,判断用户是否登录,没有登录的话就重定向到登录站点;

记录服务器:记录日志、记录操作行为。

你实在驾驭代理和反向代理的差距吧?。Location:

图片 13

meta fresh:这在2000年前比较流行,它具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短,会被判断为spam。

使用该方式主动选择权在客户端,但也可以分流请求,解决并发高的问题,在某个分区服务器出现故障时,客户端也能主动选择其他可用服务站点继续使用服务,提升高可用性。

Server: Stronghold/2.4.2 Apache/1.3.6

1) 需要有统一服务器状态查询页面,如游戏大厅;

HTTP/1.0 302 Redirect

2) 用户允许进入不同分区,各服务器用户信息共享,允许单点登录;

GET /hammers.html HTTP/1.0

以上是武器一客户端分区请求介绍,后面还有更多的武器介绍,请关注我,每天更新,谢谢

302 redirect::302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊。各大主要搜索引擎均加强了打击力度,像Google对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎误判为spam而遭到惩罚。

2) 用户允许进入不同分区,各服务器用户信息共享,允许单点登录;

在图a中,Alice向www.joes-hardware.com发送了一条请求

武器三:http重定向。根据http协议规定,可以通过返回状态码与一个url网址,可以让浏览器重新发起请求访问到另一个地址。这样可以通过这种访问根据来源请求,有针对性的把请求重定向到不同的url地址,实现请求分流。这算是比较偏门的武器,但也有地方使用。

GET /hammers.html HTTP/1.0

在图b中,服务器没有回送带有HTTP状态码200的Web页面主体,而是回送了一个带有HTTP状态码302的重定向报文

本文由时时app平台注册网站发布于编程知识,转载请注明出处:你实在驾驭代理和反向代理的差距吧?

关键词: