内容简介:一般意义上的代理均是指的正向代理服务器,其概念如下:正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求并且将获得的内容返回给客户端。正向代理的情况下客户端必须要进行一些特别的设置才能使用。现实生活中出于安全、隐私及其他种种因素考虑,某些服务器资源无法直接被访问,这个时候就需要借助正向代理服务器作为跳板进行访问。比如我们很熟悉的 VPN 就使用了正向代理技术。
正向代理
一般意义上的代理均是指的正向代理服务器,其概念如下:
正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求并且将获得的内容返回给客户端。正向代理的情况下客户端必须要进行一些特别的设置才能使用。
正向代理服务的作用
1. 替代访问——访问本无法直接访问的资源
现实生活中出于安全、隐私及其他种种因素考虑,某些服务器资源无法直接被访问,这个时候就需要借助正向代理服务器作为跳板进行访问。比如我们很熟悉的 VPN 就使用了正向代理技术。
2. 加速访问目标服务器
举个身边的例子,校园网的宿舍网速往往非常感人,因为在学校的路由限制了带宽,所以导致访问外网资源的带宽也被限制,但是如果在校园网内搭建一个高带宽的代理服务器,这个服务器出口带宽不被人为限制,然后我们电脑使用这个代理服务器上网的话,加速访问外网资源了。
3. Cache作用
Cache(缓存)技术和代理服务技术是紧密联系的(不光是正向代理,反向代理也使用了Cache(缓存)技术。
还是上面的例子,假如某宿舍的学生 A 通过这个代理服务器下载了某个动作电影,而在此之前同学 B 已经通过这个代理服务器下载过,这个时候代理服务器可以将这个电影保存在代理服务器上一段时间,A 去下载的时候直接返回给 A,而不需要再跑去目标服务器重新下载。这个过程就是 Cache 命中,如果客户端和代理之间带宽够高,也可以起到加速访问的作用,达到秒下载的效果。
4. 客户端访问授权
比如在一些机构内部不能随意访问外网,这个时候就可以用正向代理服务器,为不同的用户分配固定 IP 或者 ID 身份识别,客户端通过设置代理服务器访问网络时,代理服务器会检查网络请求的客户端来源,非允许的客户端请求数据包会被直接丢弃。
5. 隐藏访问者的行踪
显然,如果我们通过一个代理服务器去访问某个网站资源,网站服务器只能看到代理服务器在发请求,并不知道其背后真正的请求者,这就可以在一定程度上起到隐匿行踪的作用。
总结:正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须设置正向代理服务器,当然前提是要知道正向代理服务器的IP地址,还有代理程序的端口。一般代理服务器还可以设置用户认证。
反向代理
反向代理正好与正向代理相反,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。 客户端向反向代理的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,使得这些内容就好似他自己一样,一次客户端并不会感知到反向代理后面的服务,也因此不需要客户端做任何设置,只需要把反向代理服务器当成真正的服务器就好了。
举个例子,用户访问 http://suooL.net/404 但suool.net上并不存在 404 页面,于是它是偷偷从另外一台服务器上取回来,然后作为自己的内容吐给用户,但用户并不知情,这很正常。这个域名所对应的服务器就使用了反向代理的功能。
反向代理服务器的作用
1.保护和隐藏资源服务器
2.负载均衡 CDN 技术的就是利用了反向代理技术
两者区别
从 用途 上来讲:
正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。 正向代理还可以使用缓冲特性减少网络使用率。 反向代理的典型用途是将防火墙后面的服务器提供给Internet用户访问。 反向代理还可以为后端的多台服务器提供负载平衡,或为后端较慢的服务器提供缓冲服务。
另外,反向代理还可以启用高级URL策略和管理技术,从而使处于不同web服务器系统的web页面同时存在于同一个URL空间下。
从安全性来讲:
正向代理允许客户端通过它访问任意网站并且隐藏客户端自身,因此你必须采取安全措施以确保仅为经过授权的客户端提供服务。
反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。
透明代理
透明代理的意思是客户端根本不需要知道有代理服务器的存在,它改编你的 request fields
(报文),并会传送真实 IP。注意,加密的透明代理则是属于匿名代理,意思是不用设置使用代理了。
GFW 显然实现了透明代理。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
High Performance Python
Micha Gorelick、Ian Ozsvald / O'Reilly Media / 2014-9-10 / USD 39.99
If you're an experienced Python programmer, High Performance Python will guide you through the various routes of code optimization. You'll learn how to use smarter algorithms and leverage peripheral t......一起来看看 《High Performance Python》 这本书的介绍吧!