代理

作者: 全汪汪 | 来源:发表于2018-12-10 15:11 被阅读0次

代理是什么

客户端和服务端沟通最直接的方式就是双方直接通过报文来直接沟通,但在越来越丰富的网络情况下,客户端和服务端往往隔着很多个其他HTTP实体,而代理就是其中一个,代理往往可以增添更多的网络服务,因此现在网络上大多是通过代理来转发请求或响应报文的。

代理的分类

代理根据不同的功能可以分成很多类型:如防火墙,缓存代理,内容代理,拦截代理等。

连接代理

连接代理手段也很多,如直接在客户端上修改,又或者修改DNS的命名空间,又或者在服务端修改,访问的时候直接要求重定向。

访问代理

我们平时访问服务器时往往会带相对URI去访问,因为前提是我们已经知道要访问服务器的IP地址和端口的,但访问代理时,代理往往根据你内容的不同来定向到不同的服务器里去,所以如果代理不做任何处理的情况下接收到相对URI就会引起一些问题。普通情况下如果我们知道代理的存在就应该请求的时候带上绝对URI,但在一些情况下(如有我们不知道的拦截代理)我们无法得知代理的存在,我们就会发生相对URI。因此代理应该处理好获得相对URI的情况,并采取一定的策略来找到相应的资源。

追踪报文

提到代理我们就自然而然要明白追踪报文。追踪报文可以使响应报文中含有Via首部并能从中看到经过每跳时候的信息。因为追踪报文每过一跳的时候,就会往报文里添加Via信息,因此最终收到响应报文,可通过看Via头部来观察经过了多少跳。当然一些特殊情况下,会采用Via头部合并的手法,来隐藏公司内部的网络拓扑结构。

相关文章

  • 正向代理和反向代理(通俗易懂)

    正向代理:代理端代理的是客户端。反向代理:代理端代理的是服务端。 常用案例 正向代理:如VPN代理客户端 反向代理...

  • 编程常用的设计模式

    动态代理和静态代理 静态代理 动态代理 静态代理与动态代理的区别 JDK中的动态代理和CGLIB 实现动态代理的方...

  • JAVA动态代理的实现方式

    1. 静态代理VS动态代理 代理类可以增强被代理对象的方法。可分为静态代理和动态代理。 1.1 静态代理 静态代理...

  • 面试系列~动态代理实现与原理

    动态代理有JDK动态代理, CGLIB动态代理, SpringAOP动态代理 一,JDK动态代理  jdk动态代理...

  • Nginx作为代理服务

    一、代理服务代理-代为办理(代理理财、代理收货等等) 1.1正向代理 1.2反向代理 1.3代理区别 1.4配置语...

  • Spring之代理模式

    九、代理模式 目录:静态代理、动态代理AOP的底层机制就是动态代理。代理模式分为静态代理和动态代理。接触aop之前...

  • Spring的AOP原理分析

    一 动态代理 动态代理分为JDK动态代理和CGLIB动态代理 jdk动态代理 被代理类(目标类)和代理类必须实现同...

  • 静态代理、动态代理

    代理分为静态代理和动态代理 按照代理创建的时期,可以分为静态代理和动态代理: (1) 静态代理:由程序员或者...

  • Java 代理的实现原理

    一、怎样使用代理 二、代理实现的原理 一、代理分为静态代理和动态代理 静态代理:代理对象获得目标对象的引用 动态代...

  • spring aop

    JDK动态代理和CGLib代理 JDK的代理代理类 被代理接口 被代理实现类 启动类: jdk的动态代理是针对接口...

网友评论

      本文标题:代理

      本文链接:https://www.haomeiwen.com/subject/rxgrhqtx.html