【问题标题】:What should my expires, cache-control, and pragma HTTP request header fields be set to?我的 expires、cache-control 和 pragma HTTP 请求标头字段应该设置为什么?
【发布时间】:2010-09-28 22:17:49
【问题描述】:

我有一个网站,我大约每月更新一次内容。当我检查 HTTP 请求标头字段时,我得到以下输出:

Expires: Thu, 19 Nov 1981 08:52:00 GMT  
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0   
Pragma: no-cache

我的问题是,鉴于我更新内容的频率,我正在考虑手动设置这些字段以允许缓存网站。我正在使用 php header();命令这样做。

因此,我的问题是:我的 expires、cache-control 和 pragma HTTP 请求标头字段应该设置为什么?另外,除了这些,我还应该设置其他字段吗?

【问题讨论】:

    标签: php http-headers httpresponse


    【解决方案1】:

    您可以考虑使用 ETAG - http://en.wikipedia.org/wiki/HTTP_ETag

    【讨论】:

      【解决方案2】:

      您的 Expires 标头应该是将来的日期,在该日期内容将过期并且缓存将被强制再次获取它。

      去掉 Pragma 标头

      对于缓存控制,您可以添加: 公共最大年龄=2592000

      假设您希望它缓存 30 秒。

      为了更好地控制,您应该遵循 hafichuk 的建议并使用 ETags。

      有关缓存标头的引用,请查看Headers

      【讨论】:

      • 你是说30天
      猜你喜欢
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 2011-12-08
      • 2011-01-12
      • 2012-05-06
      相关资源
      最近更新 更多