Symfony2 中的 HTTP 缓存

Http caching in Symfony2

我尝试在 Symfony2 中使用标准 AppCache 来制作网关缓存。 问题是这三种方式中的每一种都定义了代理何时需要 运行 服务器脚本,因为由于某种原因缓存无效,而我只能使用其中一种方式?

$response->setETag($article->computeETag()); // 1
$response->setLastModified($article->getPublishedAt()); //2
$response->setMaxAge(600); //3

我阅读了文档,但现在我有点困惑。谢谢!

最大年龄要求最后修改。

ETag 独立于其他两个,是您页面数据的唯一标识符,因此 browser/proxy 有办法检查您的内容是否已更改。所以它只在有不同的 ETag

时从服务器加载数据