缓存控制标头"no-cache,must-revalidate,private"允许浏览器缓存资源,但强制使用条件请求重新验证.这在FF,Safari和Chrome中可以正常使用.
但是,IE7 + 8不发送条件请求,即请求头中缺少"If-Modified-Since",因此服务器使用HTTP/200而不是HTTP/304进行响应.
以下是完整的服务器响应标头:
Last-Modified: Wed, 16 Feb 2011 13:52:26 GMT
Content-type: text/html;charset=utf-8
Content-Length: 10835
Date: Wed, 16 Feb 2011 13:52:26 GMT
Connection: keep-alive
Cache-Control: no-cache, must-revalidate, private
Run Code Online (Sandbox Code Playgroud)
这似乎是一个IE错误,但我没有在网上找到任何相关内容,所以我想知道是否可能缺少或存在另一个标头会让IE表现得很奇怪?
讨论no-cache和max-age 之间的区别:Cache-Control:max-age = 0和no-cache之间有什么区别?
我太快访问我在客户服务器上设置的网站了,Firefox现在记得,这是(示例)的默认网站
testsite.mycompanyname.com (non existing subdomain, same as *.mycompanyname.com)
Run Code Online (Sandbox Code Playgroud)
是
www.mycompanyname.dk - or rather the IP of the default server
Run Code Online (Sandbox Code Playgroud)
之后我设置了公共DNS(a-record)以重定向到另一台服务器,但Firefox会记住默认的IP地址.
Chrome/IE/Safari - 没问题,因为他们在DNS开始之前没有访问过该网站...
我在about:config中设置了这些:
network.dns.disablePrefetch = true
network.dnsCacheExpiration = 0
Run Code Online (Sandbox Code Playgroud)
还要别的吗?
我真的需要firebug调试该网站的前端....
干杯
我通过Pingdom测试了我的网站,得到了这个:

我搜索但无法找到解决方案.有谁知道我怎么能得到14到100?
我有一个问题,用户报告他们的图像没有上传,旧图像仍在那里.仔细观察后,新图像就在那里,它们与旧图像的名称相同.我在上传时做的是我为了SEO目的重命名图像.当他们删除图像时,旧索引变为可用并被重用.因此它具有相同的图像名称.
有没有办法(我想可能有一个元标记)告诉浏览器不使用它的cahce?
更好的答案是将图像重命名为全新的.我将继续努力,但同时我在处理更大的问题时是快速的解决方案.
我正在使用require.js和r.js打包我的AMD模块.我通过以下语法使用jquery和requirejs:
<script data-main="/js/client" src="/js/external/require-jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
这一切都适用于前后包装,但我遇到了很多问题,其中chrome和mobile safari持有client.js的缓存版本.我想为client.js添加一个缓存器,但我似乎无法弄清楚如何使用上面的语法来实现它.
我尝试了一些变化:
<script data-main="js/client.js?b=busted" src="/js/external/require-jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)
但现在需要尝试从而获取client.js /,而不是/js404s.
我也尝试过添加
urlArgs : "bust="+new Date().getTime()
Run Code Online (Sandbox Code Playgroud)
到require.config,但似乎没有效果.
我也尝试添加相同的值app.build.js,但当它在那里时,r.js不再连接我的js文件,只是uglifies它们.
破坏require.js数据主脚本缓存的正确语法是什么?
我正在创建一个网站,但是当我对我的网站上的样式表进行更改,并且我刷新了网站时,没有任何更改.
我尝试使用视图源工具来检查它stylesheet.css,它也没有更新.但是,当我找到我的系统的根源时.
在我看到我网站上的更新之前,我必须至少等待20分钟,有人能告诉我为什么我不立即看到更改?我的浏览器,计算机或服务器出了什么问题?
我也尝试删除我的cookie,缓存和历史记录,但它仍然无法正常工作.
Github页面在所有服务内容上设置非常积极的缓存标头(Cache-Control: max-age=864001天,Expires提前1个月).
如果您更新页面并推送到github,那么重新访问已经拥有缓存副本的页面的人将无法获得新页面而无需实际清理其浏览器缓存.
如何在页面中运行的脚本确定它是陈旧的并强制更新?
步骤可能是:
window.locationforgithub.com/$id$.那你怎么知道你的版本是什么?window.location.reload(true)在Safari/Chrome中不起作用,例如......所以它解决了这些步骤; 当然可能有另一种方式?
文件通常保存在浏览器的缓存中多长时间?我想知道普通人群 - 我需要多长时间才能确定大多数人的缓存会重新获取文件?
我正在尝试hard reload and empty cache在Chrome中执行操作,因为之前加载的网站不断出现在localhost我正在使用的端口上.问题是右键单击选项似乎已停止工作,即.当我右键单击刷新按钮时,没有任何反应,我只能左键单击并正常重新加载页面.之前我有选择,所以我知道这不是我使用的Chrome版本.这很烦人.有谁知道这里发生了什么?提前致谢!
如何在Edge浏览器上禁用或删除Windows 10中的浏览器缓存?
首选项和开发人员工具没有选项(F12)
browser-cache ×10
javascript ×2
amd ×1
browser ×1
caching ×1
css ×1
dns ×1
firefox ×1
github ×1
html ×1
http-headers ×1
no-cache ×1
reload ×1
requirejs ×1
stylesheet ×1