代理(Proxy)及常见示例

Web代理是介于客户端与服务器之间,在各端点之间传送报文的中间人。它可以改善安全性,提高性能,节省费用。

1. 过滤与访问控制

在一些大公司中会对公司有害的内容设置过滤或禁止访问,或对某些服务器进行集中访问控制,都是通过代理实现的。

2. 安全防火墙

在网络中的单一安全节点上限制哪些应用层协议的数据可以流入或流出一个组织,来提高安全性

3. Web缓存

代理缓存维护了常用文档的本地副本,并将他们按需提供,以减少缓慢且昂贵的因特网通信。

4. 反向代理

代理可以假扮服务器,这些被称为替代物(surrogate)或反向代理(reverse proxy)的代理接收发给服务器的真实请求,但与web服务器不同的是,它们可以发起与其他服务器的通信,以按需定位所请求的内容。

可以用反向代理来提高访问慢速web服务器上公共内容时的性能,在这种配置中,通常将这些反向代理称为服务器加速器。还可以将替代物与内容路由功能配合使用,以创建按需复制内容的分布式网络。

5. 内容路由器

根据因特网流量情况以及内容类型将请求导向特定的Web服务器,可以用来实现各种服务级的请求,比如如果用户或内容提供者付费要求提供更高的性能,内容路由器可以将请求转发到附近的复制缓存,或者如果用户申请了过滤服务,还可以通过过滤代理来转发HTTP请求。可以用自适应内容路由代理来构建更多服务。

6. 转码

7. 匿名

时间: 2024-10-16 11:00:59

代理(Proxy)及常见示例的相关文章

代理(Proxy)和反射(Reflection)

前面的话 ES5和ES6致力于为开发者提供JS已有却不可调用的功能.例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了Object.defineProperty()方法来支持开发者去做JS引擎早就可以实现的事情.ES6添加了一些内建对象,赋予开发者更多访问JS引擎的能力.代理(Proxy)是一种可以拦截并改变底层JS引擎操作的包装器,在新语言中通过它暴露内部运作的对象,从而让开发者可以创建内建的对象.本文将详细介绍代

代理(Proxy)和反射(Reflection) (转)

转自:http://www.cnblogs.com/xiaohuochai/p/7268600.html 前面的话 ES5和ES6致力于为开发者提供JS已有却不可调用的功能.例如在ES5出现以前,JS环境中的对象包含许多不可枚举和不可写的属性,但开发者不能定义自己的不可枚举或不可写属性,于是ES5引入了Object.defineProperty()方法来支持开发者去做JS引擎早就可以实现的事情.ES6添加了一些内建对象,赋予开发者更多访问JS引擎的能力.代理(Proxy)是一种可以拦截并改变底层

Ubuntu Linux下通过代理(proxy)使用git上github.com

github.com,作为程序员的代码仓库,我们经常会用到.但有时候我们不能直接通过网络链接它,只能通过代理. 这里我有一台代理服务器,起初我以为在终端设置了代理环境就行了,其设置为在你的~/.bashrc里增加以下几行: export http_proxy="http://proxy-server:3128/" export https_proxy="http://proxy-server:3128/" export ftp_proxy="http://

java代理Proxy

首先是静态代理: 1 public class Test1 { 2 3 public static void main(String[] args) { 4 IA a = new APoxy(new A()); 5 a.doJob(); 6 } 7 8 } 9 //功能接口 10 interface IA{ 11 public void doJob(); 12 } 13 //委托类 14 class A implements IA{ 15 16 @Override 17 public void

Linux与云计算——第二阶段 第一十一章:代理Proxy服务器架设—Squid代理服务器正向代理和客户端配置

Linux与云计算--第二阶段Linux服务器架设 第一十一章:代理Proxy服务器架设-Squid代理服务器正向代理和客户端配置 安装Squid 安装Squid来配置代理服务器. [1] 这是一个通用的转发代理配置 [[email protected] ~]# yum -y install squid [[email protected] ~]# vi /etc/squid/squid.conf # line 26: 添加一条新的ACL acl lan src 192.168.96.0/24

设计模式 之代理(Proxy)模式

为什么这里要定义代理呢?所谓代理代理,当然就是你不想做的事,找别人去做,这就是代理.所以,当你写代码的时候,你想保持类的简单性.重用性,你就可以把事件尽量都交给其它类去做,自己只管做好自己的事.也就是SRP,单一职责原则.如果一个类关注的点过多,做的事情太多.这些事情不管是你直接做的,还是调用别的对象去完成的.这都不行,自己做这些事,那就会使类的功能复杂化,维护不方便.而过多地调用其它对象来完成一些事情,表面上看起来好像不错,实际上是过度耦合了.我们编写类的原则应该是追求高内聚,低耦合的.可能你

初识代理——Proxy

无处不在的模式——Proxy 最近在看<设计模式之禅>,看到代理模式这一章的时候,发现自己在写spring项目的时候其实很多时候都用到了代理,无论是依赖注入.AOP还是其他,可以说是无处不在. 于是自己便自己摸索写了一些小例子,当然也参考了网上其他博主的博客,毕竟小白一枚hhhhhh 进入正题: 图1-1:代理Proxy 代理模式现在主流的有两大类:1.JDK代理    2.CGLB代理 (JDK静态代理就不说了,网上很多都有,主要我觉得现在面向企业项目,静态代理局限性有点大,对于我而言可能就

代理(Proxy)——对象结构型模式

代理模式的意图: 为其它对象提供代理,以控制对这个对象的访问.对一个对象进行访问控制的原因是为了我们在确实需要这个对象时才对它进行创建和初始化.有些对象创建的开销非常大,所以我们应该根据需要进行创建.Proxy则可以代替一个对象,并在需要时负责实例化这个对象.就像我们小学的时候总是欺负学习好的同学,让学习好的同学代替我们写作业,要不然我们放学就在路上堵着打他们,学习好的同学就乖乖的帮我们写作业,第二天到学校老师看了作业还表扬我们学习有进步呢.这就是一个很好的代理模式的例子. 代理模式的类图如下:

(3)理解代理 proxy

var Class = function(){ var klass = function(){ this.init.apply(this,arguments); }; klass.prototype.proxy = function(func){ var self = this; return (function(){ return func.apply(self,arguments); }); }; klass.prototype.include = function(obj){ for(va