文章目录
- 正向代理
- 反向代理
- 二者区别
- 参考
正向代理
正向代理就是一个位于客户端和目标服务器之间的服务器,之间的这个服务器就是代理服务器
客户端为了从目标服务器获取内容,但是客户端由于限制无法直接访问到目标服务器,那么客户端就可以向一个代理服务器发送一个请求并指定目标服务器,代理服务器收到请求后,就会向目标服务器转交请求并将获得的内容返回给客户端
客户端是知道、配置并主动使用正向代理服务器的存在
小明,想找一个老板借钱,但是小明由于自身太菜,没有办法和老板谈借钱的事情
但是小明很聪明,他认识老板身边的秘书,然后他就通过和这个秘书沟通,将借钱的事情想秘书说清楚,秘书进而去向老板借钱
小明达到了借钱的目的,老板的钱也被借出去了,可是,老板不知道到底是谁在借钱,只知道钱给了秘书
这就是正向代理,一般是用在客户端侧,是属于客户端的代理,能够帮助客户端访问自身无法访问的服务器资源
正向代理的作用:
- 保护客户端的真实身份:客户端可以通过正向代理隐藏自己的真实 IP 地址,提高匿名性和安全性。
- 访问限制突破:如果某些网站限制了特定区域的访问,客户端可以通过正向代理服务器来绕过这种限制,获取被限制的内容。
- 可以提高访问服务器的速度
反向代理
反向代理也是一个位于客户端和目标服务器之间的服务器
当客户端发送请求时,请求首先到达反向代理服务器,然后由代理服务器将请求转发给目标服务器。目标服务器将响应发送给代理服务器,并由代理服务器再将响应返回给客户端。客户端并不知道实际处理请求的是目标服务器,而是与反向代理服务器直接通信。
老板想把钱借出去,但是老板自己懒得去找借钱的人,于是他就将钱给到某机构,让这个机构把自己的钱借出去
这个时候,小明仍然缺钱,于是找到了某机构借钱,小明借到的这个钱,其实是老板的,但是小明不会知道这个钱具体是谁的,他只知道是机构借给他的
这就是反向代理,一般是用在服务端侧,是属于服务端的代理,一般是用来做服务端的负载均衡
反向代理的作用:
- 可以做负载均衡:反向代理服务器可以根据自身配置的负载均衡算法,将客户端请求分发给多个目标服务器,实现请求的均衡分配,提高系统的并发能力和稳定性。
- 可以提高访问服务器的速度:反向代理服务器可以缓存目标服务器的响应数据,当有相同的请求到来时,直接返回缓存中的数据,减少对目标服务器的访问压力和提高响应速度。
- 可以隐藏服务端的真实 IP
- **可以做服务器的安全保障 ** :将客户端请求过滤、检查和验证,保护后端目标服务器的安全
二者区别
-
正向代理,属于客户端代理,服务端不知道到底是谁访问自己
-
反向代理,用于服务端,属于服务端代理,客户端不知道自己具体是访问的哪个服务器
参考
- https://www.zhihu.com/question/24723688