`

无法清除缓存

阅读更多

修改系统时间所带来的2个坑。

1)tomcat不更新资源文件。

最近需要用JS做一个小功能。大致就是获取服务器的时间,然后判断用户填写的时间是否超时。所以,为了测试,需要频繁的改系统时间

然后在开发过程,发现浏览器的“缓存”(打了双引号,其实并不是缓存的原因)无论用什么办法都无法清除。后来经过分析,就是修改了系统的时间才导致了“缓存”无法清除(由于把系统时间修改的比当前要早,你修改过的文件,修改时间比tomcat webapp文件夹里面的时间更加早,估计tomcat就是判断修改时间来编译/或者放入最新的java/或者资源文件)。下面,还原一下车祸现场:

1.修改系统时间,当前正确时间为2017年9月19日,我们把系统时间调整为9月18日;

可以看到,tomcat服务器存放得并未和项目文件的同步(eclipse已经刷新了资源)。

 而Server中也显示已经同步。即使publish,tomcat下面的依然没有更新。



 从以上可以得出结论:tomcat是判断文件的修改时间来同步最新的文件的。(至少上面的现象说明如此)

2.那么我们看看浏览器那边的情况。

首先已经关闭缓存。所以浏览器是从服务器重新获取的js文件。


我在js文件中添加了一个alert。但是无论怎么刷新。这个alert都无法展现。 

原因就是tomcat中并没有更新你的文件。

这个烦了我一早上。一直不知道为什么缓存清除不了,以为是浏览器的缓存,结果是tomcat没有更新资源。

 

2)在js中无法请求https资源

在js中,如果有https的资源请求,那么会因为你修改了系统的时间,无法建立安全的https链接。

这是我在js中请求的https资源。

 

修改了系统时间,之后控制台会出现以下错误:



 我们可以打开百度首页,来让这个问题更加明显:



 
 

*tips:需要涉及到时间的功能,测试的时候尽量不要修改系统时间,可以直接传入时间作为参数(可以在这个网站,转化需要的timestamp),而不是偷懒直接修改系统时间,会发生各种问题。以上就是我遇到的。
 

  • 大小: 145.6 KB
  • 大小: 10.5 KB
  • 大小: 9.2 KB
  • 大小: 15.8 KB
  • 大小: 6.3 KB
  • 大小: 10.1 KB
  • 大小: 36.6 KB
分享到:
评论

相关推荐

    Adnroid 微信内置浏览器清除缓存

    微信开发比较头疼的一个情况就是缓存难以清除,然而奇怪的是微信app在IOS中是可以刷新页面的,但是Android中却不知道基于什么考虑,无法清除缓存也没有刷新功能,这个就给开发者设置了不小的障碍,哪有页面是最好就...

    安卓SD卡文件管理更新信息相关-android获取应用程序缓存并计算大小清除缓存.zip

    android 获取应用程序缓存,并计算大小,清除缓存.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    如何修复本地连接时无法清除DNS缓存[参考].pdf

    如何修复本地连接时无法清除DNS缓存[参考].pdf

    phpBB v3.2.2 正體中文.zip

    [PHPBB3-15174] - 无法清除缓存(ext&acp); [PHPBB3-15195] - 打印视图中的代码方向未定义为“ltr”; [PHPBB3-15201] - 删除样式将user_style设置为0; [PHPBB3-15224] - 使用Mysql全文搜索索引时,“仅限...

    SolidWorks PDM清缓存辅助工具

    在使用SolidWorks PDM时大家可能会遇到一个问题,保存某个文件时SolidWorks提示文件已存在无法保存,可是你打开数据库中的文件夹却看不到那个已存在的文件。这个时候我自己做的这个PDM清缓存辅助工具就有用了,你只...

    怎么清空web缓存

    怎么清空web缓存,浏览器经常需要清空缓存,比如在做软件测试的时候,浏览器需要进行清空缓存,好方便测试

    Wordpress 非插件Redis缓存 v1.3

    这是一个非插件版针对Wordpress开发的Redis缓存系统。...用于插件上读取和修改参数删除了部分无用代码和注释增加了异常处理,redis服务无法连接时防止输出错误信息V1.2删除了已登录用户清除缓存,感觉没多大用处增加了插

    清除Microsoft_outlook中自动缓存的联系人

    清除Microsoft_outlook中自动缓存的联系人

    清除百度网盘上传缓存

    下载过的文件,百度云管家在后台有进程偷上传,删除C: Users\s你的用户名 S\Appdata\ Roaming\ Baiduyunkernel\ Config\index.s3db这个文件,重新创建一个相同...这样下次打开网盘管家之后,它无法重新创建index.s3db

    修复本地连接无法清除DNS缓存的的解决方案

    右键单击“本地连接”选择“修复”后,系统提示“Windows无法完成修复问题,因为下列操作无法完成清除DNS缓存...”的错误,针对这个问题,下面有个不错的解决方案大家可以参考下

    想要一台快速高效的计算机。但由于缓存和不需要的文件,无法获取它。尝试缓存清除,这是一种可靠的缓存清理器,可以删除.zip

    想要一台快速高效的计算机。但由于缓存和不需要的文件,无法获取它。尝试缓存清除,这是一种可靠的缓存清理器,可以删除.zip

    IE缓存提取器

    IE缓存提取器小巧易用,一键提取Internet缓存。网页上无法下载的flash视频、试听音乐等等,都保存在缓存文件夹中。... IE缓存提取器v2.1,在右键菜单中新增了查看IE缓存和清除IE缓存的功能,让缓存提取更轻松。

    niucmsV3.9.9智慧生活门户商业版平台本地O2O构建系统源码

    安装说明: 1、将代码解压到网站的根目录,(如果是用...3、用phpmyadmin导入“数据”文件夹niu.sql数据库文件! ...6、配置好网站基本参数-清除缓存(一定要清除缓存,如果网页无法访问,直接删除niucms/Runtime文件夹)

    2022最新thinkphp框架源码交易系统/资源网站源码

    后台地址:admincps ... 请在Linux服务器中使用本程序,Windows中无法使用。 源码安装方法: 1、导入根目录下的dkewl.sql数据库文件。 ...4.登陆后台,清除缓存...至于首页那些链接等你上传了商品后台清除缓存会自己更新的

    Android开发之删除项目缓存的方法

    本文实例讲述了Android开发之删除项目缓存的方法。分享给大家供大家参考,具体如下: 如何删除项目的缓存: getCacheDir()能够得到当前项目的缓存地址 在项目中经常会使用到WebView 控件,当加载html 页面时,会在/...

    thinkphp福娃源码交易网站源码

    thinkphp福娃源码交易网站源码 ...至于首页那些链接等你上传了商品后台清除缓存会自己更新的 后台地址:admincps 用户名:admins 密码:a123456 请在Linux服务器中使用本程序,Windows中无法使用。

    清空、重建图标缓存工具

    有时,大家会发现桌面、开始菜单上的软件图标不正常显示,变成无法识别的图标样式,但是双击还是可以打开!这个批处理文件就是用来修复这一问题的,直接双击运行即可(运行时,最好把打开的窗口关闭)!!!

Global site tag (gtag.js) - Google Analytics