一、什么是代理?
打工人张三最近换了新工作,原来的住房离公司的路程太远,于是他想重新找一个离工作地不那么远的住房,由于工作繁忙,没有时间看房。
房东王五名下有 2 套住房,一套自己住,另一套想租出去,难免会与形形色色的租客打交道,带他们实地看房,但是自己社恐,不喜欢与陌生人打交道。
打工人张三没时间找房,房东王五社恐不愿与陌生人打交道,于是房屋中介应运而生。
张三委托房屋中介李四为自己寻找住房,房东王五授权房屋中介李四带看,两者的问题迎刃而解。
这里的房屋中介就是一种代理。
二、正向代理与反向代理
在代理中,分为3个角色:客户端、代理服务器和服务端。并且针对被代理的角色不同,又分为正向代理和反向代理。
正向代理:被代理的对象是客户端。张三发起看房需求,属于客户端。
反向代理:被代理的对象是服务端。王五提供住房资源,属于服务端。
我们来理理正向代理和反向代理的过程。
2.1 正向代理
在正向代理过程中,代理服务器代理的是客户端,我们将客户端和代理服务器看作是一个整体,客户端知晓真实服务端地址,但是无法直接访问,因此通过代理服务器向服务端发送请求,服务端并不知晓真实客户端的信息。
正向代理使用场景:
- 通过正向代理服务器,隐藏客户端信息,匿名访问。
- 通过正向代理服务器,访问无法直接访问的资源。
2.2 反向代理
在反向代理过程中,代理服务器代理的是服务端,我们将代理服务器和服务端看作是一个整体,客户端无法知晓真实服务端的地址,只能通过代理服务器进行访问,服务端通过代理服务器接收并响应请求。
反向代理使用场景:
- 通过反向代理服务器,解决跨域问题。
- 通过反向代理服务器,统一访问入口。
- 通过反向代理服务器,避免暴露真实服务端信息,提高安全性。
- 通过反向代理服务器,实现负载均衡。