*新闻详情页*/>
在开发设计1个网站作用时,因为session 缓存文件不可以立即消除。刚开始了1系列的探寻。
现寻找几篇非常好的文章内容。
最先是 F5和 CTRL+F5的差别
F5和CTRL+F5的差别情况
我司的网站是架构构造的,1个网页页面里有好几个iframe.正由于这个缘故,每次当我自信满满的把改动过的JS文档递交到SVN上后,没过量久,某个 后台管理程序流程员就会来找我说:如何JS还出错呢,我早已CTRL+F5了啊,你递交对了吗.我只好到他坐位上拿起电脑鼠标开展实际操作:右键->本帧-> 在新标识中开启新帧->CTRL+F5->切换到原标识->F5.这1番实际操作以后,终究对了.一样的事儿早已产生过许多次了.这也证实 了很多程序流程员朋友還是不足掌握访问器的缓存文件体制.
基本专业知识
难题的压根缘故便是,在火狐里,CTRL+F5消除不上架构网页页面的缓存文件.包含架构网页页面自身和其全部的嵌入元素(.js,.css,.jpg等).因此本文的真实题目是"Firefox中怎样才可以绕过缓存文件更新架构内的网页页面".最先我要讲1下有关的基本专业知识.
1.载入缓存文件
搞WEB开发设计的常常会说:有缓存文件,CTRL+F51下.或:有缓存文件,CTRL+SHIFT+DEL清1下.那末你了解访问器有几种方法来载入缓存文件文档吗.从是不是推送了HTTP恳求来区别,我觉的能够分两种:
1.访问器从服务器回到的到期時间分辨得出,该文档都还没到期,因此立即从缓存文件文档夹载入缓存文件文档,显示信息网页页面,并沒有走任何互联网联接.
2.访问器推送HTTP恳求,恳求头中包括了If-Modified-Since 和 If-None-Match字段.让服务器来分辨是不是应当载入缓存文件文档.假如服务器回到304回应,无回应实体线,表明服务器觉得这个文档沒有转变.可使 用缓存文件中的对应文档,这时候访问器才会载入缓存文件.(假如不上解HTTP,能够买本<<HTTP权威性指南>>看看.或立即RFC2616)
我把第1种载入缓存文件的方法称之为"无恳求载入缓存文件",第2种方法称之为"无改动载入缓存文件".
2.更新方法
这里的更新方法是指能根据哪些方法让1个网页页面再次载入,我从主要表现上大约分了3种:
1.最常见的,点一下访问器的更新按钮,或按下F5
2.CTRL+F5,作用是绕过缓存文件更新
3.访问器详细地址栏上回车,IE里把这类恳求方法归为"导航栏"实际操作
在载入缓存文件层面,这3种更新方法的主要表现都不1样.第3种方法的主要表现一般是只更新首页面文档,别的嵌入文档所有"无恳求载入缓存文件".绝大多数开发设计者都不容易这么更新网页页面,因此本次实验不比照这类更新方法.
3.F5和CTRL+F5的差别
本文的实验一部分只对于F5和CTRL+F5两种更新方法做比照.这里讲1下为何F5不可以绕过缓存文件,然后者能够.回答便是推送的恳求头不1样.并且不一样的访问器推送的恳求头也是有1些差别.
1.F5开启的HTTP恳求的恳求头中一般包括了If-Modified-Since 或 If-None-Match字段,或二者兼有.假如服务器觉得被恳求的文档沒有产生转变,则回到304回应,也就沒有绕过缓存文件.
2.CTRL+F5开启的HTTP恳求的恳求头中沒有上面的那两个头,却有Pragma: no-cache 或 Cache-Control: no-cache 字段,或二者兼有.服务器看到no-cache这样的值就会把全新的文档回应以往.也就绕过了缓存文件.
实验比照
实验题型为:应用F5和CTRL+F5在包括iframe的网页页面勤奋行更新实际操作,5大访问器各有的主要表现不一样.本次实验应用Fiddler监测互联网恳求,并且不考虑到缓存文件有关的HTTP回应头的危害.
首页面index.html源代码为
1.IE 9
编号1⑹的恳求为F5的实际操作,编号7⑴2的恳求为CTRL+F5的实际操作.可见,在IE下,应用CTRL+F5能让首页面和架构网页页面的全部資源文档都绕过缓存文件.
2.Firefox 18
编号1⑹的恳求为F5的实际操作,编号7⑼的恳求为CTRL+F5的实际操作.可见,在Firefox下,应用CTRL+F5只能让首页面及其資源文档绕过缓存文件,而架构网页页面及其資源文档彻底"无恳求载入缓存文件".
3.chrome 22
编号1⑸的恳求为F5的实际操作,编号7⑼的恳求为CTRL+F5的实际操作.可见,在Chrome下,和Firefox相近,应用CTRL+F5只能 让首页面及其資源文档绕过缓存文件,而架构网页页面及其資源文档彻底"无恳求载入缓存文件".诡异的是,假如在当今网页页面按过1次CTRL+F5,则每次在该网页页面按下 F5的情况下,首页面的HTTP恳求中都会添加1个Pragma: no-cache恳求头,也便是说,访问器会记忆力.编号1的恳求便是这类状况.更诡异的是,F5实际操作下,frame.html自始至终是"无恳求载入缓存文件", 这和别的访问器主要表现不1样.更不便的是,chrome不可以用右键把架构网页页面提出来.
4.Opera 12.50
编号1⑹的恳求为F5的实际操作,编号7⑴2的恳求为CTRL+F5的实际操作.可见,在Opera下,主要表现更为不1样.即便只按F5,首页面的恳求 (编号1)也是有Pragma: no-cache恳求头,CTRL+F5下,除架构网页页面自身(编号8),全部的資源文档都绕过了缓存文件.这1点较为贴近IE
5.Safari
编号1⑸的恳求为F5的实际操作,Safari不适用CTRL+F5.和Opera相近.F5会让首页面的恳求(编号1)中包括Pragma: no-cache恳求头.既然不适用绕过缓存文件,那末无论是否架构网页页面,在Safari中只能点菜单消除缓存文件了.
处理方法
依据以上比照能够看出,仅有IE访问器的主要表现是大家要想的.这里得出Firefox下的处理方法.
1.安裝拓展
//img.jbzj.com/file_images/article/201301/20092/ReloadPassCache_jb51.rar
2.安裝UC脚本制作
//img.jbzj.com/file_images/article/201301/20092/ReloadPassCache.uc.js
UC脚本制作是技术专业的火狐玩家应用的,这里顺带讲1下我是怎样完成这个作用的.有兴趣爱好玩火狐脚本制作的能够看1下.确实看不懂能够绕过.
UrlReriter
甚么是伪静态数据? 1.是根据正则表达式投射把本是动态性的网页页面转成
看起来
是静态数据的网页页面为何用伪静态数据? 1.访问器不收录带'?' url 2.开启1个网页页面后(url 彻底同样),再度开启会很快。由于变换网页页面是在运行内存中进行的,假如再度开启同1个网页页面,就不容易再变换,而是立即在运行内存中载入。如今每转1个网页页面都换 url, 运行内存应用状况,自身考虑到1下。。 3.cup 資源占有少(参照上1条) 4.看起来较为统1,能掩藏开发设计应用的語言甚么状况下应用伪静态数据? 1.小型网站和非常在乎访问器收录的网站才应用(內容不常常换,又期待他人根据 检索模块能寻找) 2.门户网网站挑选性的用,小区能无需就无需
Copyright © 2002-2020 凡科自助建站_企业网站怎么建设_智能建站系统_自己建个网站_搭建网站基本步骤 版权所有 (网站地图) 粤ICP备10235580号