最近写的东西越来越偏向Web程序员了···

你想读懂本篇,就要知道什么是Web服务器——装在世界上某个机房里某台机器里某个操作系统里的一个,对外(公网或者你能访问)服务各种你需要的信息的软件!

它可以是Apache、Nginx、Tengine、IIS(滚)...

正向代理

没有多余的解释,四个字——科#学#上#网。

(什么?你不知道?)好吧。假设你上不了谷歌,N站,油管,91(滚)——你需要一个能上这些网站的玩意儿帮你上,然后让他把你想看的东西转给你,这个他可以是一个人,也可以是一台中间服务器,如果是一台中间服务器,那它就是所谓的“正向代理”。

反向代理

题外话:当初我觉得,正向代理就是 我~中间服务器~我真正想访问但是不能访问的服务器,那么 反向代理不就是:我真正想访问但是不能访问的服务器~中间服务器~我 了吗?这不就是服务器想偷我的数据?

总之这种“专业名词”还真不是一时半会儿能消化的,没办法,谁让某些面试官这么喜欢考呢?

正文:

先捋清楚什么是正向代理——或者说,反向代理是相对于正向代理的本质而言的。

正向代理,通俗点说,就是中间服务器的功能是:跳板。

反向代理,通俗点说,就是中间服务器的功能是:前台服务员。

有什么区别?正向代理的本质就是,我希望我!自己!能访问我不能访问,但是我知道我想访问的地方。

反向代理的本质就是:我希望我访问某个地方的时候,它后面帮我干什么我不关心,我只关心前台能不能找到我想要的东西。

再用简单点的话说,正向代理,中间服务器帮“我们”访问“我们不能访问的地方(但是我知道我想访问哪里(谷歌N站))”

反向代理,中间服务器帮“我们”寻找“我想要的东西(我不知道东西在哪里,但是中间服务器一定知道)”

从最终访问的资源信息所在地来说,用正向代理访问谷歌,那么正向代理像个中介,谷歌才是我想找的人;

我们访问百度网盘,百度会用反向代理帮我们上传下载东西,而上传去哪里从哪里下载(具体到某个机房的某台电脑),我们不知道,这个时候百度网盘的地址"pan.baidu.com/..."和后面的存储服务器是“一伙人”,这个地址就扮演了前台服务员的角色——和银行柜员很像。

脑洞

有没有正反向代理一起用的时候呢?有。

综上所述,正向代理是我知道我要什么东西但是我要不到,托个家伙帮我(代购)——重要的是,商家并不知道真正想买东西的人是我;反向代理是某个室内装修施工队的头儿和他的马仔,这个时候如果我要找这个头儿帮我办点事,马仔十之八九知道是我想办点什么事情,而我不用知道帮我办事的马仔是谁,我只要管和头儿交流就可以了。

所以,反向代理很多情况是中间服务器和最终帮我干活的服务器是一伙人。

所以,正反向一起用,就是(我,科#学#上#网,用谷歌地图,谷歌地图反向代理帮我找到地图存储的地方并拼合起来返回给我,我自己不用找)

再比较

假设A是我,B是中间服务器,C是我想访问又访问不到的地方。

step1:A->C(不行)

step2:A->B(可以)发现 B->C(可以)

step3:A->(嘿B帮我上一下C)B->C

以上为正向代理,我(A)真正想访问的是C,不是你B,但是实际访问的是B。

假设A是我,B是我想访问而且可以访问的地方,C是B能访问但是我不知道的地方,但是我要的东西在C上。

step1:A->B(嘿B帮我个事儿呗)

step2:A->B(好嘞,我这就帮你)

step3:B->C(小C啊帮我整一下这事儿,待会快点给个结果我,外面等着要呢)(C:成,马上)

step4:A(收到B的结果,实际上是C的结果)

以上为反向代理,我(A)真正想访问的是B,不是C,虽然实际访问的是B,但是实际结果是C出来的——我却不知道。

相同点:B都扮演了中介的角色,看起来都是B给A传递的数据,实际数据也都是C出来的;所以说,不管正向代理,反向代理,都是“代理(中介)”

不同点:正向代理中A是知道C的存在的,而且认为C才是服务的提供者;反向代理中A认为为是B提供的服务,但是实际上是C提供的服务。


本篇为个人向记录,如果有什么术语解释不对欢迎留言···

正向代理&反向代理 简(fu)明(za)解释的更多相关文章

  1. openresty开发系列2--nginx的简单安装,正向、反向代理及常用命令和信号控制介绍

    openresty开发系列2--nginx的简单安装,正向.反向代理及常用命令和信号控制介绍 一.nginx的安装下载及编译安装1.Nginx下载:nginx-1.13.0.tar.gz,下载到:/u ...

  2. linux下正向代理/反向代理/透明代理使用说明

    代理服务技术对于网站架构部署时非常重要的,一般实现代理技术的方式就是在服务器上安装代理服务软件,让其成为一个代理服务器,从而实现代理技术.常用的代理技术分为正向代理.反向代理和透明代理.以下就是针对这 ...

  3. 理解squid的正向和反向代理

    1.相同点: 访问的走向都是:客户端 -> 代理服务器 ->真实服务器 ->代理服务器->客户端 2.不同点:正向代理语义上更侧重于,让代理服务器去帮忙请求某个网址.让代理服务 ...

  4. 003. 什么是 正向代理 & 反向代理

    正向代理: 客户端的代理: 反向代理: 服务端的代理:

  5. Nginx 之六: Nginx服务器的正向及反向代理功能

    一:Nginx作为正向代理服务器: 1.正向代理:代理(proxy)服务也可以称为是正向代理,指的是将服务器部署在公司的网关,代理公司内部员工上外网的请求,可以起到一定的安全作用和管理限制作用,正向代 ...

  6. nginx入门与实战 安装 启动 配置nginx Nginx状态信息(status)配置 正向代理 反向代理 nginx语法之location详解

    nginx入门与实战 网站服务 想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务 就是 Web 网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务. Web ...

  7. nginx正向vs反向代理

    1.概述 nginx的正向代理,只能代理http.tcp等,不能代理https请求.有很多人不是很理解具体什么是nginx的正向代理.什么是反向代理.下面结合自己的使用做的一个简介: 1)正向代理: ...

  8. 正向代理/反向代理理解、Nginx概述、安装及配置详解

    一.Nginx概述 nginx是一款自由的.开源的.高性能的HTTP服务器和反向代理服务器:同时也是一个IMAP.POP3.SMTP代理服务器:nginx可以作为一个HTTP服务器进行网站的发布处理, ...

  9. nginx作为正向代理,反向代理的一些应用

    正向代理代理的对象是客户端 反向代理代理的对象是服务端 举例说下nginx作为正向代理作访问控制 server{ listen 80; server_name localhost jeson.gaos ...

随机推荐

  1. 微信授权、获取用户openid-纯前端实现——jsonp跨域访问返回json数据会报错的纯前端解决办法

    近来,倒霉的后台跟我说让我拿个openid做微信支付使用,寻思很简单,开始干活. 首先引导用户打开如下链接,只需要将appid修改为自己的就可以,redirect_url写你的重定向url https ...

  2. [CVPR2017] Visual Translation Embedding Network for Visual Relation Detection 论文笔记

    http://www.ee.columbia.edu/ln/dvmm/publications/17/zhang2017visual.pdf Visual Translation Embedding ...

  3. JS 数据类型、赋值、深拷贝和浅拷贝

    js 数据类型 六种 基本数据类型: Boolean. 布尔值,true 和 false. null. 一个表明 null 值的特殊关键字. JavaScript 是大小写敏感的,因此 null 与 ...

  4. centos7 mysql安装

    一.系统环境 [root@localhost home]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 二.mysql安装 ...

  5. TCP的作用

    1. 首先,TCP提供客户与服务器之间的连接.TCP客户先与某个给定服务器建立一个连接,然后通过该连接与服务器交换数据,最后终止该连接. 2. 其次,TCP提供了可靠性.超时重传.当TCP向另一端发送 ...

  6. linux下redis数据库的简单使用

    一.redis简介 Redis是一个key-value存储系统.和 Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持list ...

  7. 使用Docker部署Spring boot项目

    Docker是一个使用广泛的Linux容器管理工具包,它允许用户创建镜像,并将其容器实例化.通过本指南,我们可以学习到如何使用Docker部署Spring Boot项目. 先决条件 开发之前,你必须具 ...

  8. 通过配置tomcat实现项目免部署

    对于一些比较大的项目,比如说使用了EXTJS这种重量级UI框架的项目,在部署的时候,eclipse会卡崩的,所以可以通过配置tomcat来实现免部署,直接运行即可: 首先找到tomcat的localh ...

  9. ATOM系列之-atom报错"Cannot load the system dictionary for zh-CN"

    atom报错"Cannot load the system dictionary for zh-CN" 想必很多人(程序猿&程序媛)都和我一样,喜欢的这款很拉风的代码编辑器 ...

  10. backend_queue.go

    package nsqd // BackendQueue represents the behavior for the secondary message // storage system typ ...