概要

习惯性的bb几句
本文主要介绍正向代理和反向代理的区别,如何区分,各自的好处,还有一些应用场景
主要是白话文的内容,不会有太多专业术语,主要是面向纯小白,做个解疑,
部分地方稍微不严谨,纯粹只为更好的理解,

(去年写了一篇有关于代理IP是什么东西的文章,
代理IP是什么意思?浏览器代理和代理服务器是什么(小白必看,看了必会,不看血亏),
感兴趣的也可以看看,推荐先看看,很好懂)

什么是代理

  • 介绍代理

回顾一下那篇介绍代理ip的文章,代理的精髓重在于
游戏代理,网购代购,某同城代跑腿,
代 主要在于一个"替别人干事" 的感觉
只不过互联网中,代理 这个名词稍微高级了一丢丢

为了方便接下来的理解,请一定要先熟悉这个:

  • C-S架构

c是客户端,client,n. [经] 客户;顾客;委托人
s是服务器,server,n. 服伺者;服勤者;计算机网络服务器;计算器主机;
百度百科的介绍就挺详细了服务器-客户机
必须理解了这个,才可以简单易懂的理解正向代理和反向代理的区别,所以我再多简单介绍几句
说白了,C-S就是一个客户和老板的关系,需要服务的一方和提供服务的一方关系,
买东西的是client,卖东西的server,买东西是一种需求,卖东西是满足别人的购物需求
浏览网页的人是client,搭建网页的人是server,浏览网页是一中获取信息的需求,做网页的人提供了信息提供的服务

本文不考虑B-S架构,虽然不严谨,但是对于理解正向代理和反向代理很有用
理解了C-S架构,理解了正向代理反向代理以后,自然会懂B-S架构是什么,
就好比高中物理说不存在向心力,那也只是在高中物理的范畴之内为了学生更好的理解而说的
还有就是先“不严谨的认为ip是每人都不同的”,理解了ip以后,再去理解内网和外网ip

区分正向代理和反向代理

代理的本质,就是"中介",主要是要搞懂,这个中介在代替client,还是代替server

“替真正的client”,向server申请服务的是正向代理
正向代理是client的行为,目的是为了伪造出"client身份"

“替真正的server”,给client提供服务的是反向代理
反向代理是server方的行为,目标是伪造出"server身份"

什么是正向代理

刚刚说了,伪造了client身份的,就是正向代理,来几个例子

​生活场景

一些什么情况需要伪造client身份呢:
比如,想买烟的未成年和不准卖烟给未成年的烟店老板,一个是client,一个是server
这个未成年需要买烟的话,就不能以自己的身份来买,所以他需要叫个代跑腿的成年小哥,
这个时候这个跑腿小哥就是未成年小伙伪造的"client",属于正向代理

互联网场景

我之前的那篇介绍代理IP的文章,就是非常典型的一个正向代理场景,
再发一遍链接代理IP是什么意思?浏览器代理和代理服务器是什么(小白必看,看了必会,不看血亏)

某用户小A,不想要某网站发现他的ip登录过,使用代理ip以后,他在互联网中的所作所为,就好像都是那个代理IP在做的,
代理ip代替着小A,互联网中的各个server们只知道代理ip来过,不知道小A来过
又比如一些网站禁止一个ip访问太频繁,但client方的小B又需要频繁获取这个网站的信息,那么"正向代理"的代理ip就起作用了,小B只需要频繁更换代理ip来伪装是很多client访问网站就行了。

什么是反向代理

正向代理是伪造的client身份,那么反向代理伪造出"server身份"的场景了

生活场景

先说下生活场景,
假如有这么一个生产车间,里面有价格高昂的各种加工设备,这个车间的服务是"拿到用户寄过来的材料,然后对材料进行加工后给客户",为了保证安全,车间安排在一个无人知晓的地下密室中,然后在人人能看到的地方建了一个"招待厅",再接受客户的材料时,需要先在招待厅验货,然后由招待厅秘密运输给地下密室车间去处理和加工,加工完以后通过一次招待厅把加工好的东西返给客户
这样的好处是:招待厅的搭建比车间肯定要简单,车间有各种机器,招待厅只要放几把"椅子",如果有一个招待厅被导弹炸了,车间还在,只需要再建一个招待厅,就可以继续工作,提供服务,而且不需要担心有些客户在材料里偷偷藏屎。

互联网场景

就拿上面的生活场景对比,很多互联网公司的网站,都是做了类似的处理的,用户在网站上的操作和数据,需要在某个重点服务器上进行计算和处理
这个重要的服务器就等同于"真正的生产车间",
所以就需要一个招待厅,一般的互联网公司都是用的Nginx服务器,
用户感觉自己的请求都是这个"招待厅-nginx服务器"处理的,但其实真正的server被隐藏起来了,
nginx是隐藏的server
这样就可以在nginx前台服务器上做些安全处理,比如"防止客户藏屎",对于一些疑似不安全的请求记录,就不转发到后台主服务器,
再比如如果有人炸掉了招待厅———"DDos"攻击导致服务器崩溃,主要生成环境没被破坏,可以快速搭建一个新的nginx服务器,nginx服务器搭建肯定比系统主环境服务器简单,
快速搭建的话,一般都有搭建脚本,用git或svn拉一下nginx配置文件,跑起来就恢复了,有些还在tx云或者al云上有对应的系统镜像,搭建更快

总结

首先正向代理和反向代理都是"总结,替人办事"的身份,主要区分在于,

正向代理伪造client,反向代理伪造server

另外两者的好处就是:
说道好处,那肯定就只是对自己而言的,

正向代理的好处是对client而言的,反向代理的好处是对server而言的

这么说还是有点绝对…但主要是这样的

client使用正向代理隐藏了自己的真实身份,server用反向代理保护了server的安全,

正向代理和反向代理在互联网中真的非常常见,可能只是有的注意不到那么多,
个人感觉比较经典的正向代理就是代理ip,反向代理就是 前台nginx转发后台主服务器的架构了,

正向代理和反向代理详解(纯小白必看 最好懂的白话文教程)相关推荐

  1. 超详细 Hadoop 安装(内附ssh免密登录,图文详解,小白必看)

    Hadoop 伪分布安装 (内附ssh免密登录,收藏起来看哦) 目录 Hadoop 伪分布安装 (内附ssh免密登录,收藏起来看哦) 一:   安装前准备 二:    jdk 安装,java环境配置 ...

  2. 集合详解(小白必看)

    一.集合概述 集合是JAVA中提供的一种容器,用来存储多个数据. 1.集合与数组的区别 数组特点:类型固定,长度固定 集合特点:类型不固定,长度也不固定,随意存放任何数据 二.集合框架 三.集合分类与 ...

  3. Windows10自带Ubuntu配置详解(小白必看)

    注:1.运行命令时一定要等上一条命令运行完后再运行下一条命令,一串绿色字体后面接个~$然后一个光标闪动,就可以输入下一个命令了. 2.sudo -i 此条命令是进入root模式,标志是~#后一个光标闪 ...

  4. 思科ccna认证工程师NETCONF协议详解网工必看

    思科ccna认证工程师NETCONF协议详解网工必看,这些年随着SDN的热潮,一个诞生了十年之久的协议再一次引起了人们的重视,它就是NETCONF协议. 网络配置协议NETCONF(Network C ...

  5. BAT面试题汇总及详解(进大厂必看)03

    该策略可以           大化地节省CPU资源,却对内存非常不友好.极端情况可能出现大量的过期key没有再次被访问,从而不会被清除,占用大量内存.定期过期:每隔一定的时间,会扫描一定数量的数据库 ...

  6. vue-cli脚手架配置基础文件详解/新手入门必看

    vue-cli 脚手架中webpack 配置基础文件详解 需要Word版本 的小伙伴可以发我邮件2445478193@qq.com 一.前言 vue-cli是构建vue单页应用的脚手架,输入一串指定的 ...

  7. 苹果电脑能装鸿蒙,纯小白必看!鸿蒙编译及烧录环境分开部署For Mac

    前提说明: 一.办公环境使用的 mac 电脑,家里用的黑苹果,没有windows环境 二.CentOS7 及 windows 10 均使用 vmware 部署安装 三.编译环境:推荐使用 CentOS ...

  8. linux shell命令行及脚本编程实例详解_Linux高手必看的10本经典书籍

    Linux高手必看的10本经典书籍 Linux 是一个开放.灵活.跨平台的操作系统,上至庞大的数据中心,下至可放于掌心中的嵌入式设备,Linux 的身影无处不在. 如果你想成为一名精通 Linux 程 ...

  9. oracle 倒库详细步骤,科目二倒车入库步骤详解,考前必看!

    倒车入库被学员们称为"科目二的老大难",其实,掌握了技巧,倒车入库并没有那么难.倒车入库中,控制车速和看准点位至关重要,做好这两点,基本就能拿下了. 看准点位 第一步:上线 上线的 ...

  10. Web services详解 :入门必看 | WSDL、SOAP

    文章目录 概念 交互过程 Web services 三种基本元素: SEI和CXF WSDL 概念 WSDL文档结构 `` **Operation**(操作) `` ***binding*** 元素 ...

最新文章

  1. 分布式服务限流实战,已经为你排好坑了
  2. [BZOJ 1588][HNOI 2002] 营业额统计
  3. C语言实例第6期:反转字符串
  4. Linux企业级项目实践之网络爬虫(28)——爬虫socket处理
  5. html表格右键可编辑,Bootstrap table右键功能实现方法
  6. oracle重新编译package,如何有效的编译数据库中的失效对象(Package,trigger等)
  7. python3导入模块原理_python模块导入原理
  8. [转]电影《龙纹身女孩》中的那句 SQL-----The Girl With The ANSI Tattoo
  9. python超级关系_不可阻挡的超级语言--python
  10. 【MEMORY ALIGN】内存对齐
  11. 行为型设计模式(1)—— 责任链模式(Chain of Responsibility Pattern)
  12. 【德】博多·费舍尔 - 小狗钱钱2(2013年7月27日)
  13. java 根据ftl文件生成word
  14. 支持全系列阵列卡的专用服务器PE工具
  15. 如何获取网易云音频地址
  16. Win10 /11 开热点无法上网问题
  17. CF715B complete the gragh
  18. 数据结构:字符串 C++
  19. vant 绑定银行卡页面+验证所属银行+身份证号码+所属银行选择器
  20. 什么是飞机的上反效应

热门文章

  1. ic卡识别程序c语言,如何读写接触式IC卡
  2. stm32与绝对式编码器的ssi接口进行通信
  3. 2016年计算机一级excel试题及答案,2016年计算机一级试题加答案
  4. shiro—登录拦截
  5. C语言练手项目--C 语言编写聊天室
  6. 动画中英文对照表(09.24)
  7. 2021-05-07PLC的伺服电机与控制器
  8. java计算机毕业设计中美医院病历管理系统源代码+系统+数据库+lw文档
  9. tiledmap 图块属性_TiledMap地图使用
  10. 关于数模中编程的一点愚见