正向代理和反向代理
1、概述
今天写一篇短文,聊聊正向代理与反向代理。
在做Java项目时,我们经常能听到正向代理与反向代理这两个词。
当年还是Java小白的我,一直分不清两者的区别。今天把我对正向代理和反向代理的理解和大家说一说,共同学习进步。
2、正向代理
当我们上网浏览网站时,其实并不是直接与网站的服务器交互,通常会先访问到运营商的代理服务器,然后由运营商的代理服务器将请求转发到目标网站服务器,获得内容后再返回给我们的设备。
由于会经过运营商的代理服务器,因此运营商可以方便的对我们浏览的网站进行限制,也可以控制我们的网速。
正向代理图如下:
3、反向代理
我们平时浏览网站时,通常服务端是不止一台服务器对外进行服务的。
但这对我们来说是透明的,我们并不需要关心,只需访问固定的域名,对我们来说似乎服务端只有一台服务器来响应我们的请求。
其实我们先访问的是服务端的代理服务,代理服务根据我们的请求,转发到不同的目标服务器,来为我们服务。这就是反向代理。
反向代理图如下:
图中,左侧的代理服务器为正向代理服务器,右侧的服务器为反向代理服务器。
4、综述
简单的说,为 客户端 服务的代理服务就是 正向代理,为 服务器 服务的代理服务就是 反向代理。