HTTP学习笔记(7)—Proxy(上)

分类: 开发技术 | 作者: 尼莫船长 | 发表于 2013/11/08 没有评论


代理在互联网上是很重要的一个组成部分。除非是LAN,在WAN中,几乎很少的web应用会允许数不清的Client直连Server。
所以代理出现了。代理是client和 server之间 进行报文传输的“中间人”。

1,私有/共有
私有代理,单个客户端专用的代理,一般很少见到私有代理,绝大部分的代理都是公有的。

2,代理/网关
代理(proxy)和网关(gateway),严格说来有一个重要区别,Proxy只是相同协议之间的应用程序进行信息传输,网关最重要的一个功能就是进行协议转换。 举例:比如web的mail客户端,实际上在用户收发mail的过程,都是在web的邮件客户端上完成,但是实际上,发送的邮件是通过了email网关,将用户的Http,转换成了Pop协议,才由mail server最终进行处理。
但由于现在技术的进步,很多代理也干了网关可以做的事。两者的区别到不那么明显了。

3,代理的功能
a/ 内容控制,比如可以过滤某些不良的信息、广告等等。。
b/ 文档访问控制,一般在大企业或者分布式系统中,我们可以通过代理来限制某些文档的访问者。比如某软的财务报表系统,只能被行政楼的IP地址的Client访问,而且其他的办公楼的IP地址不能访问,就可以用代理来实现控制。
c/ 安全, 比如在企业中,我们可以限制某些应用层协议的数据是被过滤掉。代理可以做到这点。比如某软的网络访问白名单制度……
d/ WEB缓存,代理中可以缓存一些经常被访问的资源,减少server端的压力。
e/ 反向代理(Reverse Proxy) , 反向代理是架设在Server之前的,可以伪装成server来被client访问,一般来说,Client访问Server,server进行处理,返回Resp,这是一个完整流程,但是反向代理可以做一件事,就是把Client的某些特定访问发送给其他的Server,来提升server端的性能。 比如某些Resp中携带的图片放到专门的图床上,proxy就可以控制Client的req请求,提升整个的Resp的性能。
f/ 内容路由, 代理可以按照网络的负载,讲req转发向特定的Web server,比如,QQ会员就可以通过代理被导向特定的登陆服务器,虽然不是HTTP请求,但原理是一样的。
g/ 转码器, 比较常见的是,智能手机和PC同时访问同一个web,如果Resp中包含图片,PC的Resp可能是完整的,但是为了提供更好的兼容智能机的Resp,图片被压缩发送,Proxy做了这样的工作。
h/ 匿名者, 同样是为了安全,假如五角大楼的某个哥们要去淘宝卖一个山寨机,那么proxy就可能会干掉Client的包头中的一些需要隐藏的字段,比如:User-agent、 From、Cookie、Referer 等等,淘宝收到的请求是“干净”的像局域网发送的请求一样的Req。

今天先写到这,,有点事要离开一下,,明天继续。。
(TO BE CONTINUED。。。)

移动设备快速阅读本文:
  请扫描二维码  -->

"Reality is merely an illusion, albeit a very persistent one."-Albert Einstein (1879-1955)

» 本文链接地址:http://www.wanghaoyan.com/?p=218 » 英雄不问来路,转载请注明出处,谢谢。
» 您也可以订阅本站:RSS 2.0

Tag:
« »