首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器缓存HTML

浏览器缓存HTML
EN

Stack Overflow用户
提问于 2017-04-21 19:37:13
回答 2查看 99关注 0票数 0

我正在开发一个带有静态站点生成器的博客。为了获得更快的页面速度,我在nginx配置文件中启用了图像、javascript和css缓存:

代码语言:javascript
复制
location ~* \.(?:ico|gif|jpe?g|png)$ {
    expires 120d;
}

location ~* \.(?:css|js)$ {
    expires 7d;
}

我的页面的<head>区域没有任何缓存指令。

现在,当我发布一篇新文章(这意味着我在本地生成文件并在服务器上scp )并访问我的站点时--新文章没有显示!只有当我“硬刷新”网站时,它才会出现。

这绝对不是人们想要的行为,因为人们可能会来到这个网站,而不会看到最新的文章。

  • 除非另有指示,浏览器是否缓存html?
  • 我能做些什么来阻止html缓存?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-05 14:14:46

虽然Kevin_Kinsey的解决方案可能有效,但我找到了一个解决方案,它也做得很好:

我将其添加到nginx配置中:

代码语言:javascript
复制
location ~* \.(?:manifest|appcache|html?|xml|json)$ {
    expires -1;
}
票数 0
EN

Stack Overflow用户

发布于 2017-04-21 19:40:09

将唯一的查询字符串添加到资源中,la:

代码语言:javascript
复制
<img alt='something' src='/images/foo.jpg?20170421'>

如果您有一种动态服务器端脚本语言/安装程序,则通常可以“动态”生成这些查询字符串。

对于HTML本身,您需要将服务器配置为使用无缓存指令为HTML服务。在HTML中:

代码语言:javascript
复制
<meta http-equiv="Cache-control" content="no-cache">
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43550693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档