“缓存控制:当我们输出 HTML 时,max-age 也很有用。想象一下由 PHP 生成的页面不会经常更改,每天一次甚至更长。但是浏览器仍然必须在每次页面查看时下载 HTML。我们可以改进它通过在 PHP 中发送 max-age 值。 header('Cache-Control: max-age=28800');
这样,我们将理想的缓存寿命设置为 8 小时。现在,如果有人在 8 小时内第二次点击链接,他会立即获得该页面。
Max-age 还有助于提高代理服务器的效率。我们可以通过将代理服务器添加到 Web 前端来轻松组织透明的服务器端缓存。
请注意,如果页面的内容经常更改且相关,则情况并非易事。例如,在用户登录后缓存带有登录表单的页面可能会遇到困难,该表单在用户登录后会转换为带有“Hello username”的某个框,或者如果有用户评论,则发布评论的用户将看不到它。因为我们不能要求浏览器销毁缓存条目,它仍然会从缓存中获取旧页面。该解决方案可以使用 Javascript 生成登录框(需要启用 Javascript)。如果我们在用户登录后设置cookie,我们可以在客户端检查它并为登录用户生成合适的内容。这样,从服务器端看,内容将是相同的,并且可以被缓存。”
详细信息可以在这里找到[http://www.webscalingblog.com/performance/caching-http-headers-cache-control-max-age.html]