当前位置: 首页 > article >正文

正向和反向代理区别

文章目录

      • 正向代理
      • 反向代理
      • 二者区别
      • 参考

正向代理

正向代理就是一个位于客户端和目标服务器之间的服务器,之间的这个服务器就是代理服务器

客户端为了从目标服务器获取内容,但是客户端由于限制无法直接访问到目标服务器,那么客户端就可以向一个代理服务器发送一个请求并指定目标服务器,代理服务器收到请求后,就会向目标服务器转交请求并将获得的内容返回给客户端

客户端是知道、配置并主动使用正向代理服务器的存在


小明,想找一个老板借钱,但是小明由于自身太菜,没有办法和老板谈借钱的事情

image-20231018205303532

但是小明很聪明,他认识老板身边的秘书,然后他就通过和这个秘书沟通,将借钱的事情想秘书说清楚,秘书进而去向老板借钱

image-20231018205406504

小明达到了借钱的目的,老板的钱也被借出去了,可是,老板不知道到底是谁在借钱,只知道钱给了秘书

这就是正向代理,一般是用在客户端侧,是属于客户端的代理,能够帮助客户端访问自身无法访问的服务器资源

正向代理的作用:

  • 保护客户端的真实身份:客户端可以通过正向代理隐藏自己的真实 IP 地址,提高匿名性和安全性。
  • 访问限制突破:如果某些网站限制了特定区域的访问,客户端可以通过正向代理服务器来绕过这种限制,获取被限制的内容。
  • 可以提高访问服务器的速度

反向代理

反向代理也是一个位于客户端和目标服务器之间的服务器

当客户端发送请求时,请求首先到达反向代理服务器,然后由代理服务器将请求转发给目标服务器。目标服务器将响应发送给代理服务器,并由代理服务器再将响应返回给客户端。客户端并不知道实际处理请求的是目标服务器,而是与反向代理服务器直接通信。


老板想把钱借出去,但是老板自己懒得去找借钱的人,于是他就将钱给到某机构,让这个机构把自己的钱借出去

image-20231018205626605

这个时候,小明仍然缺钱,于是找到了某机构借钱,小明借到的这个钱,其实是老板的,但是小明不会知道这个钱具体是谁的,他只知道是机构借给他的

image-20231018205715141

这就是反向代理,一般是用在服务端侧,是属于服务端的代理,一般是用来做服务端的负载均衡

反向代理的作用:

  • 可以做负载均衡:反向代理服务器可以根据自身配置的负载均衡算法,将客户端请求分发给多个目标服务器,实现请求的均衡分配,提高系统的并发能力和稳定性。
  • 可以提高访问服务器的速度:反向代理服务器可以缓存目标服务器的响应数据,当有相同的请求到来时,直接返回缓存中的数据,减少对目标服务器的访问压力和提高响应速度。
  • 可以隐藏服务端的真实 IP
  • **可以做服务器的安全保障 ** :将客户端请求过滤、检查和验证,保护后端目标服务器的安全

二者区别

  • 正向代理,属于客户端代理,服务端不知道到底是谁访问自己

  • 反向代理,用于服务端,属于服务端代理,客户端不知道自己具体是访问的哪个服务器

参考

  • https://www.zhihu.com/question/24723688

http://www.kler.cn/a/149607.html

相关文章:

  • ❤React-React 组件基础(类组件)
  • 前端常用布局模板39套,纯CSS实现布局
  • openSUSE 环境下通过 zypper 安装软件
  • 轻松上手:使用Docker部署Java服务
  • SpringBoot(八)使用AES库对字符串进行加密解密
  • 前端知识点---Javascript的对象(Javascript)
  • STM32 基础知识
  • 查看各ip下的连接数
  • 第一个php扩展开发的demo
  • 模拟实现offsetof宏(详解)
  • 第三方发起备份的ORA-00245问题
  • vue实现动态路由菜单!!!
  • 19. Python 数据处理之 Pandas
  • 奇葩问题:arp缓存与ip地址冲突(实际是ip地址被占用导致arp缓存出现问题)
  • ssh管理
  • Android12强制所有应用跟随gsensor旋转
  • 23.解释不同方式的自动装配,spring 自动装配 bean 有哪些方式?
  • 【带头学C++】----- 八、C++面向对象编程 ---- 8.10 函数的默认参数
  • Python基础语法之学习字符串快速格式化
  • C\C++:原子计数操作 之__syn_fetch_and_add性能研究
  • 前后端分离开发出现的跨域问题
  • 压缩字符串II
  • Maven 介绍
  • C语言基础程序设计题
  • 爬虫如何确定HTTP代理IP是否符合自己业务需求?
  • Android 13.0 app进程保活白名单功能实现