一、Squid简介与原理分析
1、Squid
Squid cache(简称为Squid)是一个流行的自由软件,它符合GNU通用公共许可证。Squid作为网页服务器的前置cache服务器,可以代理用户向web服务器请求数据并进行缓存,也可以用在局域网中,使局域网用户通过代理上网。Squid主要设计用于在Linux一类系统运行。
2、Squid典型的代理服务
(1)标准的代理缓冲服务器
(2)透明代理缓冲服务器
(3)反向代理缓冲服务器
3、反向代理工作原理
反向代理服务器位于本地WEB服务器和Internet之间,当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理请求。反向代理一般只缓存可缓存的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP标记:
#Last-Modiffied:告诉反向代理页面什么时间被修改
#Expires:告诉反向代理页面什么时间应该从缓冲区中删除
#Cache-Controll:告诉反向代理页面是否应该被缓冲
#Pragma:告诉反向代理页面是否应该被缓冲
4、CDN实现拓扑图
5、Squid反向代理拓扑