代理到底是一种什么机制?
从最直观的使用感受来讲,比如ssh代理,我的机器连接上一个ssh服务器,此时,我访问外部网络的时候,所有的数据请求包括响应都是经过这个ssh服务器中转的,换言之,它代替我访问网络,所以,它是代理。
听起来确实不难,难的是,它是怎么做到的,最简单的时候,我只是在linux的命令行里通过ssh命令连接上了一个代理服务器,它就开始工作了。 我猜,它应该是对底层数据流做了一定的重定向,本来要发送到网络上的信息,被ssh做了一个重定向,所有的访问外网的数据都被重定向到代理服务器上去了。
好吧,这一切都是我猜的,不过,我以后会花时间验证。
那么,什么是反向代理呢?
我们访问外部网络的时候,使用的代理叫正向代理。如果网络上有一个网站,这个网站有一个代理服务器负责将我们的请求交付给内部的内容服务器。我们访问网站的时候直接访问的是这个代理服务器。这个代理服务器就叫反向代理。
也就是说,正向代理就是代理访问外网的请求,一般是代理客户的请求。反向代理就是代理接收来自外网的访问请求。
暂时也就知道这么多。