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

【网络服务】正向代理和反向代理到底是什么意思

🚀 个人主页 极客小俊
✍🏻 作者简介:程序猿、设计师、技术分享
🐋 希望大家多多支持, 我们一起学习和进步!
🏅 欢迎评论 ❤️点赞💬评论 📂收藏 📂加关注

前言

在学习和应用网络服务中,你会经常听见正向代理反向代理 这两个概念,很多人觉得很复杂,其实不然,首先要理解什么是正向代理反向代理 首先就要搞清楚什么是代理, 如果你使用过Fiddler、Charles这样的工具,那么你肯定知道代理是什么意思!

简单的说代理在网络服务中就是帮助客户端服务器进行信息沟通的中间件, 而且在这个过程中,中间代理还可以对信息数据进行一些处理修改

例如Charles代理抓包工具如下图:

中间的Charles就属于一个代理正向反向 代理又是什么呢! 这就要涉及到客户端服务端

正向代理模式(Forward proxy)

我们先来举个例子, 比如说当前访问某些网站应用的时候,通常网站服务器端都会记录下用户的IP地址, 那么如果你不想被服务端察觉到你的IP地址应该怎么办呢? 这个时候,你就可以想弄一台中间服务器让它来帮你完成与目标服务端的请求!

通过对中间这台代理服务器, 我们只需要在本地的电脑上设置一下这个代理服务器IP地址端口号找到它,就能让它来转发用户的HTTP请求响应,从而实现由代理服务器来帮我们访问目标服务,这样服务端也不会知道我们真正的用户IP地址了!

如图

从上图中我们就可以看出来,只要我们把正向代理这个服务加以配置或者伪装成某个国家地区的IP地址,那么这样服务端最终也就只能知道正向代理服务这里的IP地址区域, 这对保护用户的隐私很有帮助, 也提高了安全性!

所以正向代理其实面向的是客户端

如图

反向代理模式(Reverse proxy)

那如果你理解了正向代理, 那反向代理就很容易理解了,因为反向代理正向代理是相反的!

正向代理帮助代理客户端,而反向代理帮助代理服务端

我们来看下图:

如图

从上图中,我们可以看到反向代理服务器会拦截外界客户端的请求, 然后决定负责把访问请求转发给服务端,然后服务器处理请求并将响应返回给反向代理服务器,然后由反向代理服务器将响应返回给客户端

比如: 当你打开一个网站的时候,反向代理服务器就可以来决定请求访问指定的服务器资源,并且也可以从指定的服务器中返回响应数据到客户端, 其实这就是俗称的负载均衡, 因为反向代理是一种网络架构,而负载均衡是一种技术策略,所以负载均衡可以使用反向代理来实现。

但从感觉上来说反向代理服务器也一样位于客户端服务器之间, 而且对于客户端来说, 反向代理服务器就像是目标服务器一样, 客户端根本不知道真正的服务器地址在哪里, 相当于隐藏后端服务器的真实地址!

所以反向代理其实面向的是服务端

如图

从安全性来说具备反向代理模式的服务器会更加安全,网络攻击者最多也只能针对反向代理服务器而不能攻击到真正的服务器!

总而言之反向代理就是一种代理服务器, 它代理了目标服务器去和客户端进行HTTP请求与响应!

正向代理和反向代理之间的区别

其实我们在上面的图中也可以完全看清楚它们之间的核心区别

  1. 正向代理面向客户端
  2. 反向代理面向服务端

举个栗子

正向代理一般是客户端设置的,比如在自己的电脑上安装一个代理软件 , 然后服务器不知道真正的客户端到底是谁,以为访问自己的就是真实的客户端

反向代理一般是服务器架设的,比如在服务器机器集群中部署一个反向代理服务器用做请求和响应工作, 那么客户端就不知道真正的服务器是谁,以为自己访问的就是真实的服务器。

从用途上讲正向代理主要是用来解决一些访问限制问题, 比如我们熟知的科学上网, 而反向代理则是提高服务器安全性的一种架构方案,比如负载均衡、安全防护等作用!

"👍点赞" "✍️评论" "收藏❤️"

大家的支持就是我坚持下去的动力!

如果以上内容有任何错误或者不准确的地方,🤗🤗🤗欢迎在下面 👇👇👇 留个言指出、或者你有更好的想法,
欢迎一起交流学习❤️❤️💛💛💚💚

更多 好玩 好用 好看的干货教程可以 点击下方关注❤️ 微信公众号❤️
说不定有意料之外的收获哦..🤗嘿嘿嘿、嘻嘻嘻🤗!
🌽🍓🍎🍍🍉🍇

http://www.lryc.cn/news/355604.html

相关文章:

  • 【算法】记忆化搜索
  • 博客系统多模块开发
  • pdf阅读器哪个好用?五款PDF阅读器大比拼
  • C#实现Queue的加锁和解锁
  • 北京邮电大学人工智能考数据结构,均分370!北京邮电大学计算机考研考情分析!
  • 1. lambda初体验
  • C#之显示转换
  • 汇编原理(三)编程
  • [MySQL数据库] Java的JDBC编程(MySQL数据库基础操作完结)
  • 绿色瓶装水“暗战”竞争越发激烈,华润饮料谋上市同时多地扩产能
  • C语言之指针详解(4)
  • 0基础学习小红书博主IP特训营,37天 教你从小白到KOL(13节)
  • 【openlayers系统学习】3.1-3.2彩色GeoTIFF图像渲染
  • 前端自动将 HTTP 请求升级为 HTTPS 请求
  • 辅助驾驶ADAS功能算法介绍
  • Docker 安装kingbase V8r6
  • Python 应用打包成 APK【全流程】
  • jmeter之MD5加密接口请求教程
  • R18 NTN中的RACH-less HO
  • QT使用gsoap获取手机归属地
  • 抖音本地生活服务商入驻指南分享!
  • 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四
  • vs2019 c++20 规范的 STL 库的智能指针 shared、unique 、weak 及 make_** 函数的源码注释汇总,和几个结论
  • 【大模型】 基于AI和全球化进程的权衡:开源大模型与闭源大模型
  • 强化学习——学习笔记
  • NAT简介
  • 联想凌拓 NetApp AFF C250 全闪存存储助力丰田合成打造数据新“引擎”
  • 红队技巧:仿冒Windows登录
  • 821. 字符的最短距离 - 力扣
  • BI工具如何为金融行业带来变革?金融行业营销管理策略大揭秘