根据上面的论述,可以忽略cdn,可以只考虑站点本身的实现,但站点需要维护页面cache。那么,这个cache应该部署在哪里呢?
一般站点都在webserver前面加上waf,统一管理站点所有域名的防护。如果这个cache是在waf上实现,可以有这样的优势:
- 降低运维成本,可以统一对所有站点进行网页防篡改。
- 提高站点响应速度,由于请求到waf直接可以收到响应,不需要在后面webserver了。
那么waf上的cache是如何同步呢?一般同步会有三种方式:
- 请求触发。每个请求过来,如果在cache没有找到相应的响应,就去webserver同步
- 定时触发。waf定时对所有域名统一同步,或者定时对每个域名同步,或者对单个域名单个路径同步。
- 操作同步。运维人员对某个域名配置网页防篡改,waf对该域名同步。