我的页面上有一些JS,CSS,图像文件,我正在使用缓存,所以当我再次访问我的页面时 浏览器没有打到我的服务器。
但是当我刷新页面时,浏览器会点击服务器,我的服务器会返回304 NOT MODIFIED
。
我知道这是通常的现象,但我想知道是否有任何方法可以阻止浏览器访问我的服务器,而只是在用户刷新页面时从缓存中加载它们。
例如,当我刷新google页面时,他们的一些资源是从缓存而不是304 NOT MODIFIED
加载的。
任何人都可以帮助网站新手:)?
答案 0 :(得分:0)
这是正常的行为,通常我只是忍受它。只要您正确设置了到期或最大期限设置,那么304消息将仅在刷新时发生,如您所说。只要您的用户没有定期刷新,那么304通常不会在人们浏览网站时发生。
但是,在某些情况下,即使用户刷新页面,您也可以阻止304消息。
如果您想尝试一下,这是一个背景图片示例...
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<div id="example-image" style="height: 250px;"></div>
<script type="text/javascript">
$("#example-image").css("background", "white url(/images/myImage.jpg) no-repeat");
</script>
更新
我在想AJAX GET会起作用,但看起来我错了,所以我从列表中删除了它。无论如何,我上面列出的解决方案确实有效,但是它们很笨拙和不愉快,这就是为什么我通常不会为此烦恼。
更新#2
Steve Souders对这个问题有一些有趣的实验...... http://www.stevesouders.com/blog/2013/02/26/reloading-post-onload-resources/