什么是代理?

代理可以理解为海外代购,代购东西就是代理。说白了就是替咱们办事的人。

那什么时候需要用到代理呢?比如在局域网内,只能访问网内的东西,网外是受限制的。想要访问外网就需要在外网和局域网之间架一个设备,需要通过这个设备来访问外网,这个设备就是代理,被成为代理服务器。它既可以是一个软件也可以是一个设备。

工作流程:

  1. 访问外网
  2. 代理收到请求,进行拦截
  3. 代理去帮着向外网请求
  4. 外网数据响应之后再传回给局域网
  5. 如果再次访问这个资源的话,代理服务器可以直接拿这个资源,这个时候就是代理服务器有个缓存的作用

在每个地区网络运营都会有个代理服务器,它主要用来做缓存。公司里边的代理一般是限制上网,或者检查访问的网络是否工作需要,也就是看你有没有摸鱼!

什么是反向代理?

反向代理就是把代理倒过来,它也在局域网内。只不过是让互联网向局域网内访问。反向代理可以转发请求。比如在一个机房内web服务器有很多个,一个服务器上有多个网站域名但是都绑定在同一个ip上,那么这个ip就是这个局域网的入口。TCP层面上通过ip来找到这个入口,在HTTP层面上是有域名的,然后反向代理拿到这个请求之后找到这个域名,看看域名所在的内网是对应的哪个机器。

反向代理的用途:

  1. 加密和SSL加速 -> 把加密配置在反向代理服务器上,分担压力
  2. 负债均衡 -> 如百度、淘宝流量很大,一台服务器承担不来,分摊流量给反向代理服务器。
  3. 缓存静态内容 -> 缓存脚本、CSS、图片
  4. 压缩 -> http头里的gzip 压缩可以放在反向代理
  5. 减速上传 -> 本质是流量控制
  6. 安全 -> 要先攻破了反向代理服务器,然后才能攻破后面的服务器
  7. 外网分布 -> 一台服务器上有两个web服务,端口肯定不一样,但是对外提供服务必须是80或者443端口,他们不能都设置成同一个端口。所以这时候需要用反向代理统一用80端口对外服务,流向不同网站的请求进行转发。
Last Updated:
Contributors: kk