如何强制重新缓存更新的网页

phi夫

亲爱的叠朵花,

我觉得我的问题一定很普遍,这使我无法找到解决方案的事实更加令人困惑。也许是我差劲的搜索能力造成的。

我负责维护我妻子的网站,该网站主要由在线系列组成。该站点使用php从MySQL数据库生成页面(我想这会使它动态生成)。每次添加新的情节时,我都需要更新几个页面(索引和倒数第二个情节页面),并带有指向该新情节的链接和图像。明显的问题是网站的缓存版本将没有该更新的链接。除非访问者重新加载这些更新的页面之一。一种解决方法是使这两个页面不可缓存,但这似乎有些残酷。

我已经阅读了有关Cache-Control的一些资源,但仍然无法确定在这种特定情况下哪些参数将是有用的。由于我不知道,下一集何时发布,所以我不能使用“ Expires”或“ max-age”(或者可以吗?)。同样,由于需要重新加载整个页面,因此不能像更改图像一样更改文件名。我理想地要做的是比较缓存版本的日期和文件的最后修改日期,如果缓存版本早于文件,则强制浏览器加载新版本。但是我愿意接受其他方法。

我同样乐于修改htaccess文件或添加php标头。任何建议将不胜感激。

非常感谢!

绒毛

在PHP中,只需发送正确的标头即可:

header('Cache-Control: no-cache, no-store, must-revalidate'); // HTTP 1.1.
header('Pragma: no-cache'); // HTTP 1.0.
header('Expires: 0'); // Proxies.

标头控制浏览器如何处理各种事情,从缓存的时间到发送的信息类型(html,图像等)。

每当有人请求该页面时,将标题放到那里都会强制进行更新。

如果页面真的太大而不能每次发送(真的吗?真的那么大吗?),为什么不只是将缓存设置为每天一次或每周一次过期-值太短,以至于人们不会这样做?不要错过任何东西,但不要普通,所以他们下载的内容不会太多。

另一种完全不同的方法可能实际上是让您的代码吐出从未被缓存的HTML页面-一些HTML不能发送太多的kbs数据,这可以节省服务器收到太多请求的时间。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

XMLHttpRequest:如何强制缓存?

来自分类Dev

如何强制Knockout.js更新UI(重新评估绑定)

来自分类Dev

如何查看Chrome的缓存网页?

来自分类Dev

强制浏览器重新缓存CDN

来自分类Dev

更新网页时更新网页缓存

来自分类Dev

Spark Scala:如何强制Spark重新计算一些结果(不使用其缓存)

来自分类Dev

如何强制加载器重新加载/重置或删除预加载qml页面的缓存

来自分类Dev

如何强制浏览器重新加载缓存的 URL 而不更改 URL

来自分类Dev

如何强制用户刷新缓存

来自分类Dev

django:在更新后强制缓存刷新

来自分类Dev

使用 OutputCache 时强制更新缓存

来自分类Dev

使Firefox缓存网页,以便重新启动后无需重新加载即可查看网页

来自分类Dev

如何在使用移动浏览器浏览器时防止从缓存中重新加载网页?

来自分类Dev

如何使用Retrofit和OKHttp使下一个请求无效/强制更新缓存路由?

来自分类Dev

如何在GitHub上的README.rst中强制更新图像(缓存)

来自分类Dev

如何缓存特定网页以供离线查看?

来自分类Dev

aSmack,如何强制重新连接?

来自分类Dev

如何强制重新加载页面

来自分类Dev

“强制重新检查”如何工作?

来自分类Dev

如何强制Slack重新连接?

来自分类Dev

如何强制重新排序jsTree?

来自分类Dev

如何强制Chrome以纵向模式打印网页?

来自分类Dev

更新后重新加载缓存图像

来自分类Dev

SQL CE-清除查询缓存或强制重新编译

来自分类Dev

强制重新加载页面以反映更新的NSUserDefaults

来自分类Dev

$ locale更新或强制拟合器重新计算

来自分类Dev

强制apt更新以重新下载信息

来自分类Dev

Breeze:如何强制刷新缓存中的实体

来自分类Dev

离子2:如何强制缓存页面?

Related 相关文章

热门标签

归档