Squid 是比较知名的代理软件, 它不仅可以跑在 Linux 上还可以跑在 Windows 以及 Unix
上,它的技术已经非常成熟。目前使用 Squid 的用户也是十分广泛的。Squid 与 Linux 下其
它的代理软件如 Apache、Socks、TIS FWTK 相比,下载安装简单,配置简单灵活,支持缓
存和多种协议。
Squid 之所以用的很多, 是因为它的缓存功能.Squid 缓存不仅可以节省宝贵的带宽资源,
也可以大大降低服务器的 I/O。从经济角度考虑,它是很多网站架构中不可或缺的角色。
Squid 不仅可以做正向代理,也可以做反向代理。当作为正向代理时,Squid 后面是客
户端,客户端想上网需经过 Squid。当一个用户(客户端)想要请求一个主页时,它向 Squid
发出一个申请,要 Squid 替它请求,然后 Squid 连接用户要请求的网站并请求该主页,接着
把该主页传给用户同时保留一个备份,当别的用户请求同样的页面时,Squid 把保存的备份
立即传给用户,使用户觉得速度相当快。使用正向代理时,客户端需要做一些设置,才能实
现,也就是平时我们在 IE 选项中设置的那个代理。而反向代理是,Squid 后面为某个站点的
服务器,客户端请求该站点时,会先把请求发送到 Squid 上,然后 Squid 去处理用户的请求
动作。下面借用一个网络上的图,看下正向代理。
关于特别容易的区分:正向代理,Squid 后面是客户端,客户端上网要通过 Squid 去上。反向
代理,Squid 后面是服务器,服务器返回给用户数据需要走 Squid。
也许你会问,什么时候需要配置正向代理,又什么时候配置反向代理呢?我的观点是,
正向代理用在企业的办公环境中,员工上网需要通过 Squid 代理来上网,这样可以节省网络
带宽资源。而反向代理用来搭建网站静态项(图片、html、流媒体、js、css 等)的缓存服务器,
它用于网站架构中。