欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

透明代理、正向代理、反向代理的区别说明

程序员文章站 2022-03-18 14:55:47
代理方式有三种:正向代理、透明代理和反向代理。反向代理比较容易理解,毕竟是运维必掌握的知识,但是对正向代理、透明代理可能比较模糊,所以主要解惑正向代理和透明代理。 透明代理 透明代理 (transparent proxy),看名字就知道这个代理服务器是透明的,透明代理其实也叫做内网代理(inline ......

代理方式有三种:正向代理、透明代理和反向代理。反向代理比较容易理解,毕竟是运维必掌握的知识,但是对正向代理、透明代理可能比较模糊,所以主要解惑正向代理和透明代理。

透明代理

透明代理(transparent proxy),看名字就知道这个代理服务器是透明的,透明代理其实也叫做内网代理(inline proxy)、拦截代理(intercepting proxy)以及强制代理(force proxy)。透明代理和正向代理的行为很相似,但细节上有所不同。透明代理将拦截客户端发送的请求,拦截后自己代为访问服务端,获取响应结果后再由透明代理交给客户端。一般公司内的上网行为管理软件就是透明代理。

透明代理、正向代理、反向代理的区别说明

例如,客户端要访问www.baidu.com,如果是正向代理的方式,客户端会指明它要交给正向代理服务,就像路由中说要交给网关一样。如果是透明代理的方式,则是发送出去,然后被透明代理拦截,客户端以为请求的这个过程是自己完成的,并不知道是透明代理完成的。

正向代理

正向代理(forward proxy),看名字就知道是转发代理。客户端将请求转发给正代服务器,正向代理服务器再负责转发给服务端,响应时服务端先响应给正向代理服务器,正向代理服务器再转发给对应的客户端。也就是说,正向代理可以但不限于为局域网内客户端做代理,它扮演的角色类似于nat。

透明代理、正向代理、反向代理的区别说明

其实fq上网时配置的代理目标就是正向代理。

透明代理、正向代理、反向代理的区别说明

正向代理和透明代理的区别

正向代理和透明代理的区别,细分起来还是有不少的,但主要几点:

  • 正向代理时,客户端明确指明请求要交给正向代理服务,也就是说要设置代理。而透明代理对客户端是透明的,客户端不知道更不用设置透明代理,但是客户端发出去的请求都会被透明代理拦截。
  • 正向代理为了实现某些额外的需求,有可能会修改请求报文,但按照rfc文档的要求,透明代理不会修改请求报文。
  • 正向代理可以内网也可以外网,但透明代理都是内网。

反向代理

反向代理是为服务端转发请求,客户端将请求发送至反向代理服务器,反向代理服务器再将请求转发给真正的服务器以处理请求,响应时后端真正的服务器将处理结果发送给反向代理,再由反向代理构建响应并响应给客户端。

透明代理、正向代理、反向代理的区别说明