代理服务器 (proxy server) 又称 Web 缓存器 (Web cache),它是能够代表初始 Web 服务器来满足 HTTP 请求的网络实体。代理服务器有自己的磁盘存储空间,并在存储空间中保存最近请求过的对象的副本。
代理服务器
代理服务器 (proxy server) 又称 Web 缓存器 (Web cache),它是能够代表初始 Web 服务器来满足 HTTP 请求的网络实体。代理服务器有自己的磁盘存储空间,并在存储空间中保存最近请求过的对象的副本。
为什么使用代理服务器?
提高访问速度!
由于目标主机返回的数据会存放到代理服务器的磁盘中,因此下一次客户再访问相同站点时,所获取到的数据直接从代理服务器磁盘读取,起到了缓存的作用,对于热门网站能明显提高访问速度。
作为防火墙!
由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可以在代理服务器上设限,过滤掉某些不安全信息。同时正向代理的冲浪者可以隐藏自己的 IP,免受攻击。
突破访问限制!
懂的都懂🤪
互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点。通俗点说,我们使用翻墙浏览器就是利用了代理服务器,可以直接访问外网。
正向代理
正向代理一个位于客户端和原始服务器之间的服务器。为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转发请求并将获得的内容返回给客户端,同时缓存一份数据在本地(也就是代理服务器磁盘上),这样以后客户端才能使用正向代理。😁我们平时所说的代理就是指正向代理。
🤔有点抽象?没事,换个说法:A 向 C 借钱,由于一些缘由不能直接向 C 借钱,于是 A 让 B 以他自己 (B) 的名义去找 C 借钱,这样 A 也不仅得到了钱💴,还让 C 以为是 B 借的,并不知道 A 的存在,B 就充当了 A 的代理人。
反向代理
反向代理则是以代理服务器来接收 internet 上的连接请求,然后将请求转发到内网上的服务器,并将其从服务器上得到的结果返回给 internet 上请求的客户端,此时代理服务器对外表现为一个反向代理服务器。
🤨还是有点抽象?那就再举个例子:A 向 B 借钱,B 没有拿自己的钱,而暗地里将这件事告诉给 C,借 C 的钱交给 A,然后 A 以为是 B 的钱💴,并没意识到 C 的存在,B 就是所谓的反向代理人。
「差异」正向代理 vs 反向代理
架设位置不同
正向代理:架设在客户端和目标主机之间。
反向代理:架设在服务器端。
代理对象不同
🎯正向代理:代理客户端,服务器端不知道实际发起请求的客户端。
正向代理 — HTTP 代理为多个人提供翻墙服务。
🎯反向代理:代理服务端,客户端不知道实际提供服务的服务端。
反向代理 — 多个商家以美团外卖平台的名义向某个用户提供外卖服务。
用途不同
正向代理:为防火墙内的局域网客户提供访问 Internet 的途径。
反向代理:将防火墙后面的服务器提供给 Internet 访问。
安全性不同
正向代理:允许客户端通过它访问任意网站并且隐藏客户端自身,因此必须采取安全措施以确保仅为授权的客户端提供服务。
反向代理:对外透明,访问者并不知晓自己访问的是哪一个服务器。
正向代理的应用
- 访问原来无法访问的资源
- 用作缓存,加速访问速度
- 对客户端访问授权,上网进行认证
- 代理可以记录用户访问记录,并对外隐藏用户信息
反向代理的应用
- 保护内网安全
- 负载均衡
- 缓存,减少服务器的压力
nginx 作为最近较火的反向代理服务器,安装在目的主机端,主要用于转发客户机请求,后台有多个 Http 服务器提供服务,nginx 的作用就是把请求转发给后台的服务器集群,决定哪一台来处理当前请求。