Nginx模块fastcgi_cache的几个注意点

在web项目中,大家都已经非常熟悉其架构流程了。这些流程中,几乎每个环节都会进行cache。从浏览器到webserver,到cgi程序,到DB数据库,会进行浏览器cache,数据cache,SQL查询的cache等等。对于fastcgi这里的cache,很少被使用。在我的测试过程中,发现一些问题。比如nginx的fastcgi_cache没缓存这条http响应,是因为响应头里包含“Expires”、“Cache-Control”的原因吗?程序里并没有输出“Expires”、“Cache-Control” http header的代码,这是谁输出的呢?既然是fpm响应的时候,就已经有了,那么是php的core模块,还是其他拓展模块输出的?“Expires:”时间为何是“Thu, 19 Nov 1981 08:52:00 GMT”?

Continue reading