0 0

上传代码之后,有的时候需要清除浏览器的缓存才能看到修改的效果,那不清除缓存的话是不是一直都看不到啊?0

我自己知道看不到效果需要清除一下浏览器的缓存——但是,我的问题最想问的是,那些客户他们如果没有清除浏览器缓存,那他们是不是一直都看不到改变的效果???
2014年7月01日 14:05

6个答案 按时间排序 按投票排序

0 0

http://blog.csdn.net/husan_3/article/details/23792517

http://blog.csdn.net/zhaozhenzuo/article/details/25557287

这个问题主要牵涉3个方面:
1.HTTP协议里的缓存定义
2.浏览器对缓存的实现
3.TOMCAT对静态资源缓存的实现

1不说了,比较基本的,2的话前面的回答也对比了不同的浏览器的实现。

3的话需要看TOMCAT的源码,主要是DefaultServlet。

/*cache有效期5秒,5秒之内不检查原文件是否有修改,超过有效期,
        需要验证原文件的lastModified和ContendLenth和缓存中的是否一致,
        不一致清除缓存,一致则更新缓存的timestap再次5秒有效期。*/

证据:
protected int cacheTTL = 5000;

位于ProxyDirContext.java

第一篇文章中的

引用
这样的话,如果修改css或js等静态文件,如果测试的人一直访问(5秒间隔内)这个页面,导致静态文件一直从服务端缓存中读取,那样无论是否强制刷新修改都不会生效啊。
这段话不敢苟同,源码逻辑看得有点晕。

2014年7月03日 18:10
0 0

补充一下:


【三种刷新方式对缓存的区别】

众所周知浏览器是通过Last-Modified和Expires来处理缓存的,具体机制就不做解释,而在具体调试中发 现并不按我们想象的方式进行,其原因很有可能是在刷新浏览器的时候采用不恰当的方式导致。对于大多数浏览器而言,都包含有三种刷新方式,以下我们以IE浏 览器为例:

F5 刷新
Ctrl+F5 刷新
“转至”或地址栏里回车 刷新

这些快捷键的功能,主流浏览器都是相同的。
而这三种刷新方式会导致浏览器采取不同的缓存机制:

F5:不允许浏览器直接使用本地缓存,因此Last-Modified能起作用,但Expires无效
Ctrl+F5:是强制刷新,因此缓存机制失效
“转至”或地址栏里回车:正常的访问,Last-Modified和Expires都有效

知道浏览器刷新还有这么一回事后,那么以后在项目调试的过程中就不会感到疑惑了。

通常你更新了,然后测试的人说“唉我这怎么还没变啊”就是因为他是在浏览器直接输入地址的而没有按F5或者直接点击刷新按钮导致的。

2014年7月02日 16:56
0 0

如果你没有做配置,理论情况下客户刷新浏览器就行,因为默认是浏览器发送文件的时间戳到服务器,服务器判断该文件时间戳是不是一致,如果一致直接返回304告诉浏览器可以用缓存。

你上传了服务器,这个时候服务器的文件时间就变了,那么他刷新浏览器就不会返回304而是返回你上传的新文件了。


但是现实情况往往是需要刷新好几次。。。有时候甚至要手动清理一下浏览器缓存才行。

如果是GOOGLE的浏览器点击重新加载框架即可。

当然如果你直接在服务端或者浏览器禁用缓存就不存在这个问题了,我以前用firefox就直接禁用浏览器缓存,开发的时候就不用每次手动清理了。

如果需要配置TOMCAT的缓存,TOMCAT也是支持的:
  http://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Expires_Filter

如果使用了nginx,在nginx里配置也是可以的。
 

2014年7月02日 16:47
0 0

是的,IE 缓冲是在本地的。一般需要手动清除,比如js等脚本是需要手动清除的。但是jsp这种即时编译的文件就不需要。

2014年7月02日 15:57
0 0

上传代码指的是修改服务器上的代码吗

2014年7月02日 08:46
0 0

客户刷新页面即可

2014年7月01日 18:02

相关推荐

    多页面网页浏览器LE 0.6 源码

    3.这个程序是从2001年开始写的,那时候写的代码在各方面都不成熟,注释就不用说了,也就最近新写或改写的代码才有部分注释,各位大虾就有怪莫怪了. 详细文档,呵呵,懒人啊,以后再慢慢补上吧,现在先把代码发布了再说. 4....

    飞腾浏览器(FlyIe)V1.57安装版

    打开网页本身是件很占内存的...它快速(用了您就知道,几乎看不到底部进度条,一闪而过,"快感"非常强烈@_@)、低耗(以数据说话)、 实用(广告拦截、清除缓存、多引擎搜索功能强大) 飞腾浏览器 用过的人都说 爽!!!

    电脑网页打不开怎么回事但qq能用

    如果我们清除了系统的 DNS 解析缓存以后,还是不能打开网页的话,那有可能是我们当前的系统使用的 DNS 解析服务器出故障了。我们可以尝试手动设置系统的 DNS 解析服务器地址。 以下是手动设置 DNS 解析服务器的步骤...

    Authorware作业(课程设计)源文件及发布exe文件

    硬盘越来越大,安装的软件也越来越多,有很多朋友喜欢把快捷方式都放到桌面上,这样不但使您眼花缭乱,而且系统性能也会下降,而且会造成系统资源占用过大而使系统变得不稳定,所以我们最好把桌面上的快捷方式控制在...

    电脑答疑 电脑常识 a里面放了电脑的一些常识,如果你有兴趣的话,就下载来看一看,增加自己的一点电脑常识吧!

    - **浏览器缓存问题:**清除浏览器缓存和Cookies。 - **网站服务器故障:**如果是特定网站出现问题,则可能是网站本身的服务器故障导致。 #### MIDI 文件播放异常 在播放MIDI格式文件时遇到问题,通常是由于音频...

    计算机应用技术(实用手册)

    计算机应用技术 实用手册 Xnllz 2011.7.29 ...有时候在系统的任务栏你见不到小喇叭有可能在这里被关闭了,即:[DISABLED],遇到这种情况可从新进入COMS把此项打开即可,即:[ENABLED]。 SATA...

    您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问解决方法

    安装了防火墙(包括WINXP系统自带的防火墙),出现无法Ping通,或者是访问共享资源的时候提示"XXX无法访问"、"您可能没有权限使用网络资源"、"请与这台服务器的管理员联系以查明您是否有访问权限"、"找不到网络路径...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 ... 2000 年 6 月 22 日 不论对 Microsoft 还是对整个 IT 业界都将成为值得纪念的一天 这一天 微软公司正式推出了其下一代...

    WeenyFreeSystemCleaner(系统垃圾清理)V1.5免费安装版

    Weeny Free Cleaner是一个免费的系统优化工具,可以一键清除windows中的所有系统垃圾,注册表中无用的键值,删除浏览器的缓存、历史记录、cookie。甚至点击按钮还能够把windows的设置恢复到默认状态。这样系统就可以...

    adb1.0.26包含fastboot.exe

    如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。 设备驱动状态正常。 这一点貌似在 Linux 和 Mac OS X 下不用操心,在 Windows 下有可能遇到...

    2020Design V90 常见问题解答 FAQ 0510.pdf

    **问题:** 在设计趟门柜时,平面图和渲染图中能看到趟门,但立面图中却看不到,多图预览的图框中也看不到。 **解决方案:** 这种显示问题可能是由于视图设置不当或软件bug导致的。解决方法如下: 1. **检查视图设置...

    新版Android开发教程.rar

    也有分析认为,谷歌并不想做一个简单的手机终端制造商或者软件平台开发商,而意在一统传统互联网和 移 动互联网。----------------------------------- Android 编程基础 4 Android Android Android Android 手机新...

Global site tag (gtag.js) - Google Analytics