当前位置: 代码迷 >> Web前端 >> 假的,全是假的!(更新)
  详细解决方案

假的,全是假的!(更新)

热度:354   发布时间:2012-10-29 10:03:53.0
假的,全是假的!!(更新)
		<meta http-equiv="Pragma" content="no-cache" />
		<meta http-equiv="Cache-Control" content="no-cache" />
		<meta http-equiv="Expires" content="0" />

  这段代码想必各位即使没用过也眼熟至极了吧,但根据我的测试,上面三句话在IE7、firefox3中完全不起作用,《高性能网站设计指南》提供的方法貌似没人买帐,先说firefox。
  测试工具:httpWatch.
不管上面三句话如何设置,firefox都我行我素,时而直接从缓存中读取,时而向服务器发送一次请求,找不到规律。
  测试方式是刷新(f5和刷新按钮都试过)页面,观察httpWatch的'result'列的值。结果如前所述,有时是'(Cache)',有时是304,找不出规律,与上述三者的设置没有对应关系。
  再说IE.
  IE是绝大多数情况下值都是304,只有1次为'(cache)'还因按得太快没捕获住。
  由此可见IE和FireFox似乎自己实现了一套缓存访问机制,有意忽略了HTML的设置。
  但上文所提《指南》上提供的例子表明,该书所言不虚。这个例子有个看不懂的地方是,它页面上根本就没有上述三个标签,难道它是从后台进行设置的?
**********************************************************************
  IE的规律总结出来了:
  1、页面跳转、在地址栏按回车键
  IE不访问服务器,直接从缓存中提取信息(result值为'(cache)');与meta设置无关。

  2、按刷新按钮、F5、右键刷新
  IE向服务器发送查询信息,得知所访问内容未修改,从缓存中提取(result值为304);与meta设置无关。

  但《指南》提供的例子实在让人心有不甘,它的存在让我无法就此下结论。
1 楼 vb2005xu 2010-10-12  
一般缓存控制都是发送头信息吧 html这个似乎没有多大的用处
  相关解决方案