事件回放:学期末,信息技术课学生正在微机室进行在线考试。”上面有答案,”下面有同学小声议论经,我看了一下,原来我在制作试卷时将答案与试题做成了一个文档,学生在下载试卷的同时,答案也就下载了。我赶紧嘱咐学生自觉考试,同时将答案自觉删除。幸好是第一个班,我赶紧登陆到学校FTP服务器上,将考试文档中答案删除。每想到第二个班考试时,下载的考试文档还有答案。我直接到FTP服务器上操作,发现确实已经删除了。怎么加事?经过一番分析,原来都是IE缓存引起的。
关于IE缓存
为了提高访问网页的速度,Internet Explorer浏览器会采用累积式加速的方法,将你曾经访问的网页内容(包括图片以及cookie文件等)存放在电脑里。这个存放空间,我们就称它为IE缓存。以后我们每次访问网站时,IE会首先搜索这个目录,如果其中已经有访问过的内容,那IE就不必从网上下载,而直接从缓存中调出来,从而提高了访问网站的速度。
FTP默认工作方式也是通过IE打开,我们不难分析产生这种现象的原因:
从FTP服务器下载文档到本地或是直接打开文档,首先到IE缓存检查有没有同名的文件存在,如果有,就直接从IE缓存打开或下载。如果没有,先下载到IE缓存,然后再从IE缓存下载到本地,当在FTP服务器上对文件内容修改时,只要文件名没改变时,即使内容变了或者文件大小变了,客户端先检查本地IE缓存 ,如果存在同名(不管大小或文件最后修改时间),就直接从本地IE缓存下载,当然还是原来那个文件了。
小秘密:关于文件在缓存中的位置。在IE的“工具”菜单下选择“Internet选项”,然后在“常规”选项卡中你会看到有“Internet临时文件”这一项,单击“设置”按钮,然后在弹出的“设置”对话框中就可以看到IE缓存的位置,winxp与win7略有不同了。这里有一个不能不说的秘密了。我开始在实验中,在该缓存目录下没有发现任何我要下载的文档,通过WINDOWS的文件查找功能在该目录下也没有找到任何文档了,其实下载的文档应该还是从缓存COPY过来的,因为在FTP服务端已经更改了内容了。后来查阅了相关资料才知道在系统提示的IE缓存目录下还有一个文件夹“\Content.IE5”,它即不是隐藏的也不是系统的,所以不通过手工输入,是无法进入的。当进入到该目录下,你看到那些在"content.ie5"目录下以数字和字母命名的文件夹了么?这是微软试图通过使用复杂的文件名来使他的计划越发难以理解,这些数字和字母命名的文件夹就是微软生成的用来保存你的cookies和缓存的文件夹。

微软是如何做到我们无法通过文件查找功能来找到这些IE缓存文档的呢?.这个问题困扰了我很久,但是最终我还是在这些文件夹中找到了原因,原来在"content.ie5目录下有一个"desktop.ini"文件,这是一个文件夹中的标准文本文件,用来定制一类文件夹行为的某些特定的功能。微软使用"desktop.ini"文件来使得这些文件不可见,使这些文件对于Windows ,"查找功能"都不可见。(这就是为什么不能在这些文件夹中执行"查找"功能的原因了)
弥补措施:可以通过以下几种方法来解决
一、更改IE缓存更新的方式: IE缓存更新有四种方式,在“设置”对话框下面有四个单选项:
    1、“每次访问此页时检查”:表示浏览器将发送一个信息给所要访问的页面的WEB服务器,查问当前访问的信息是否有变动,如没有变动,就从硬盘缓存中直接调用,而且每次访问都要发送信息给WEB服务器进行验证。
    2、“每次启动INTERNET EXPLORER时检查”:表示本次上网浏览器将只发送一次信息给WEB服务器进行验证,以后无论信息是否发生变动,都从硬盘缓存中直接调用所要访问的页面的信息。
    3:“自动”:表示浏览器将自动检查所要访问的信息最新是否发生变动,如果变动的话,就从INTERNET上重新下载网页,如果没有变动的话,就直接从硬盘中读取数据。
    4、“不检查”:表示对要调用的页面信息不进行校验,只要硬盘硬盘上有,就直接从硬盘中调用。弄清楚了上面四个选项后,用户可以根据自己的实际情况进行设定,浏览器默认选择“自动”这一单选项。
系统默认是第三个,根据我反复实验,其中只有第一项是在每次打开IE或点击刷新后即时更新。而后三项都是根据只要相同的文件名存在,即直接在本地IE缓存下载了。所以我们只要把缓存更新方式设置第一项即可。
 二、更改FTP访问方式:FTP有以下两种方式
1、FTP本地视图:这是系统默认的方式,采用IE缓存更新机制,滞后现象严重,在缓存文件夹下,存着第一次访问的文档,当再次打开时比较文件名来决定从哪里下载或打开了。
2、FTP文件夹视图:同步更新,与FTP服务器同步。它直接打开或下载服务器上的文档,但同时是会向IE缓存COPY一个备份了。
所以只要我们选择第2种方式,就不存在不即时更新的问题了。打开方法:在“页面”选项下,打开“在WINDOWS资源管理器中打开FTP站点”即可。
三、在FTP服务器上更改文件名。如果将更新的文件换一个名称,客户端肯定是可以即可更新了。
四、客户端删除IE缓存。在客户端删除IE缓存后,因为在IE缓存找不到相同的文件名,就直接从FTP服务器上下载了,当然是更新的了。
尽管找到解决问题的办法了,但还是有个问题让我不明白,IE缓存文档更新为什么只看文件名,而不管文件大小是否改变或文件更改时间了?如果都按系统的默认设置,IE缓存是自动方式,FTP访问是本地视图,那用户在访问时,如果FTP服务端有更新,而文件名又未改了,那在客户端永远看不到即时更新了(除非删除IE缓存)。按理说系统的默认设置都是满足大众化的需求了,这点实在让人不明白了。

文章如转载,请注明转载自:http://www.5iadmin.com/post/909.html