Java高级 正向代理和反向代理理解
文章目录
- Java高级 正向代理和反向代理理解(小白必看 最好懂的教程)
- 1)概要
- 2)什么是代理
- 1.介绍代理
- 2.C-S架构
- 3)区分正向代理和反向代理
- 4)正向代理怎么理解
- 1.生活场景
- 2.互联网场景
- 5)反向代理怎么理解
- 1.生活场景
- 2.互联网场景
- 6)总结
Java高级 正向代理和反向代理理解(小白必看 最好懂的教程)
本文转自个人Hexo博客:https://liulei-root.github.io/2022/041810198.html
1)概要
首先bb几句
本文主要介绍正向代理和反向代理的区别,如何区分,各自的好处,还有一些应用场景
主要是白话文的内容,不会有太多专业术语,主要是面向纯小白,做个解疑
部分地方稍微不严谨,纯粹只为更好的理解
2)什么是代理
1.介绍代理
代理的精髓重在于 代
游戏代理,网购代购,某同城代跑腿
代 主要在于一个"替别人干事" 的感觉
只不过互联网中,代理 这个名词稍微高级了一丢丢
为了方便接下来的理解,请一定要先熟悉这个:C-S架构
2.C-S架构
C 是客户端,client,n. [经] 客户;顾客;委托人
S 是服务器,server,n. 服伺者;服勤者;计算机网络服务器;计算器主机
百度百科的介绍就挺详细的:服务器-客户机
必须理解了这个,才可以简单易懂的理解正向代理和反向代理的区别,所以我再多简单介绍几句
说白了,C-S就是一个客户和老板的关系,需要服务的一方和提供服务的一方关系
买东西的是client,卖东西的server,买东西是一种需求,卖东西是满足别人的购物需求
浏览网页的人是client,搭建网页的人是server,浏览网页是一中获取信息的需求,做网页的人提供了信息提供的服务
本文不考虑B-S架构,虽然不严谨,但是对于理解正向代理和反向代理很有用
理解了C-S架构,理解了正向代理反向代理以后,自然会懂B-S架构是什么,
就好比高中物理说不存在向心力,那也只是在高中物理的范畴之内为了学生更好的理解而说的
还有就是先“不严谨的认为ip是每人都不同的”,理解了ip以后,再去理解内网和外网ip
3)区分正向代理和反向代理
代理的本质,就是"中介",主要是要搞懂,这个中介在代替client,还是代替server
“替真正的client”,向server申请服务的是正向代理
正向代理是client的行为,目的是为了伪造出"client身份"
“替真正的server”,给client提供服务的是反向代理
反向代理是server方的行为,目标是伪造出"server身份"
4)正向代理怎么理解
刚刚说了,伪造了client身份的,就是正向代理,来几个例子
1.生活场景
一些什么情况需要伪造client身份呢?
比如,想买烟的未成年和不准卖烟给未成年的烟店老板,一个是client,一个是server
这个未成年需要买烟的话,就不能以自己的身份来买,所以他需要叫个代跑腿的成年小哥
这个时候这个跑腿小哥就是未成年小伙伪造的"client",属于正向代理
2.互联网场景
某用户小A,不想要某网站发现他的ip登录过,使用代理ip以后,他在互联网中的所作所为,就好像都是那个代理iP在做的
代理ip代替着小A,互联网中的各个server们只知道代理ip来过,不知道小A来过
又比如一些网站禁止一个ip访问太频繁,但client方的小B又需要频繁获取这个网站的信息,那么"正向代理"的代理ip就起作用了
小B只需要频繁更换代理ip来伪装是很多client访问网站就行了。
5)反向代理怎么理解
正向代理是伪造的client身份,那么反向代理伪造出"server身份"的场景了
1.生活场景
先说下生活场景,
假如有这么一个生产车间,里面有价格高昂的各种加工设备,这个车间的服务是"拿到用户寄过来的材料,然后对材料进行加工后给客户",为了保证安全,车间安排在一个无人知晓的地下密室中,然后在人人能看到的地方建了一个"招待厅",再接受客户的材料时,需要先在招待厅验货,然后由招待厅秘密运输给地下密室车间去处理和加工,加工完以后通过一次招待厅把加工好的东西返给客户
这样的好处是:招待厅的搭建比车间肯定要简单,车间有各种机器,招待厅只要放几把"椅子",如果有一个招待厅被导弹炸了,车间还在,只需要再建一个招待厅,就可以继续工作,提供服务,而且不需要担心有些客户在材料里偷偷藏屎。
2.互联网场景
就拿上面的生活场景对比,很多互联网公司的网站,都是做了类似的处理的,用户在网站上的操作和数据,需要在某个重点服务器上进行计算和处理
这个重要的服务器就等同于"真正的生产车间"
所以就需要一个招待厅,一般的互联网公司都是用的Nginx服务器
用户感觉自己的请求都是这个"招待厅-nginx服务器"处理的,但其实真正的server被隐藏起来了
nginx是隐藏的server
这样就可以在nginx前台服务器上做些安全处理,比如"防止客户藏屎",对于一些疑似不安全的请求记录,就不转发到后台主服务器
再比如如果有人炸掉了招待厅———"DDos"攻击导致服务器崩溃,主要生成环境没被破坏,可以快速搭建一个新的nginx服务器,nginx服务器搭建肯定比系统主环境服务器简单
快速搭建的话,一般都有搭建脚本,用git或svn拉一下nginx配置文件,跑起来就恢复了,有些还在tx云或者al云上有对应的系统镜像,搭建更快
6)总结
首先正向代理和反向代理都是"替人办事"的身份,主要区分在于:
正向代理伪造client,反向代理伪造server
另外两者的好处就是:
说道好处,那肯定就只是对自己而言的
正向代理的好处是对client而言的,反向代理的好处是对server而言的
这么说还是有点绝对…但主要是这样的
client使用正向代理隐藏了自己的真实身份,server用反向代理保护了server的安全
正向代理和反向代理在互联网中真的非常常见,可能只是有的注意不到那么多
个人感觉比较经典的正向代理就是代理ip,反向代理就是前台nginx转发后台主服务器的架构了
Java高级 正向代理和反向代理理解相关推荐
- java面试题之个人对正向代理和反向代理的理解
为什么使用代理? 提高响应速度: 因为我们发送给代理服务器的请求,目标主机(真正的服务器)返回的数据会储存在代理服务器主机的硬盘上,当下一次同样的请求访问时,直接从硬盘读取,加快访问速度,尤其是对一些 ...
- 彻底理解正向代理和反向代理
转载自 彻底理解正向代理和反向代理 平时工作中我们会接触到各种代理,它到底是什么概念呢,又是什么工作原理,下面我们具体来分析一下. 1.概念 正向代理 这个很好理解,比如说你现在要访问一个外国的社交网 ...
- 彻底理解正向代理、反向代理、透明代理
套用古龙武侠小说套路来说,代理服务技术是一门很古老的技术,是在互联网早期出现就使用的技术.一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术 ...
- Java后台架构-分布式-高可用-集群-负载均衡-正向代理和反向代理
双 11 即将来临,本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的14次演进过程,同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知. 文章最 ...
- 正向代理与反向代理的理解以及区别
正向代理与反向代理 参照了知乎以及百度的一些列子,以下说一下自己的理解 - 正向代理 先搭建一个属于自己的代理服务器 1.用户发送请求到自己的代理服务器 2.自己的代理服务器发送请求到服务器 3.服务 ...
- 轻松理解正向代理与反向代理
点击蓝色"程序猿DD"关注我哟 我知道有很多专注于业务研发的童鞋,经常搞不清"正向代理"与"反向代理"这两个东西.很多时候,因为这些东西的应 ...
- 我对正向代理和反向代理的理解
之前一直听过代理服务器,就模模糊糊的认为就是代替服务器的,但具体是怎么工作的,什么工作原理,却一直没搞清楚,今天也梳理下正向代理和反向代理的含义,以及两者之间的区别.下面贴出正向代理和反向代理的图示: ...
- 关于正向代理和反向代理的理解
正向代理与反向代理都是客户端访问代理服务器,然后通过代理服务器访问真正提供服务到服务,但是正向代理与反向代理具有根本的区别,如下: 1.反向代理 使用反向代理时,用户实际访问的就是反向代理服务器到某个 ...
- 浅析Nginx 正向代理与反向代理
1.正向代理和反向代理的概念 无论是正向代理,还是反向代理,说到底,就是代理模式的衍生版本罢了.我们都学习过代理设计模式,都知道代理模式中有代理角色和被代理角色,为什么这么说,因为这两个角色对于我们理 ...
最新文章
- 语言输出换行符号是什么_世界上最难的5种编程语言
- python 气泡图 聚类_2015年度10大Plotly数据可视化美图及工具介绍
- Python查找相同元素,不同元素
- Linux学习记录-----《快乐的Linux命令行》.
- 【excel】日期函数DateDif
- 判断iframe是否加载完毕的方法(兼容ie和Firefox)
- 李宏毅机器学习(二)自注意力机制
- 客座编辑:黎建辉(1973-),男,博士,中国科学院计算机网络信息中心研究员、博士生导师...
- Django框架 之基础入门
- CTF之文件包含的猥琐思路
- CNN进行新闻文本分类代码实战,包含分类文本
- 向上累积频数怎么算_视频号怎么运营?小白也能迅速get的技巧
- 【leetcode】332. Reconstruct Itinerary
- 代码轻视频系列#001
- 7)Thymeleaf 内联表达式、文本、JavaScript、CSS
- 马斯克的“半机械人”还没出现,这位日本少年却已经可以让你变身“半机械人”了...
- python编程手机_手机最强Python编程神器,在手机上运行Python
- php 坏了怎么修复,winload.exe丢失或损坏怎么办
- mysql数据库修复工具 innodb表数据恢复 ibd文件恢复工具
- android怎么用apk,手机如何安装APK应用教程 小白操作安卓系统教程 (全文)