WPO技巧:在本地浏览器上模拟用户访问行为

在WPO性能优化过程中,我们需要在本地浏览器模拟用户访问网站行为。

我们通常模拟两种情况:

第一种:在无缓存状态下用户打开网页的情况

这种情况很容易模拟,无缓存情况就是访客第一次访问你的网页,浏览器中没有缓存的状态。

你只要重新打开一个浏览器窗口,IE进入 Internet 选项-清除浏览器缓存,就ok了。

 

第二种:在全缓存状态下用户打开网页的情况。

这种情况有些麻烦。全缓存是指这么一种状态:用户已经访问过你的网页,并且你的网页组件中也添加了expires header,浏览器中保留着缓存以及expires header信息。

A情况:我们先说说如果没有记录expires header信息的情况下,浏览器中还是会保留缓存。当用户第二次访问的时候,浏览器看到有缓存了,但还是会发送一个“条件get (conditional GET)”请求给服务器,询问自己的缓存有没有过期,也就是问服务器上面对应的文件有没有修改过。如果服务器说修改啦,就重新下载一次;如果服务器说没修改,那么浏览器就放心的使用自己的缓存,从而加快了访问速度。不过这种情况,浏览器和服务器之间还是会有两次通话,一次是发“条件GET”请求,询问缓存是否能用,一次是接收服务器发来的反馈信息。

B情况:如果加了expires header信息,浏览器就可以省掉上文的两次和服务器的通话了。所以添加expire header是WPO网站性能优化的重要一环。

 

浏览器包含缓存和expires header信息,就是全缓存状态。我们该如何模拟全缓存状态呢?

点击浏览器的reload按钮?

错!点击reload按钮,只能模拟A情况。也就是浏览器对每个缓存组件都发送“条件GET”请求,每个组件两次通话省不了。

点击浏览器地址栏,然后点击enter?

正确!这种方式,可以正确模拟出全缓存状态,也就是浏览器对于expired headers还生效的组件不再发送请求给服务器。网页速度最快。

 

Steve Souders在他的博客 中做了这样的实验

第一次访问样板网站 —— 无缓存 共68个组件

 

第二次访问样板网站 —— 全缓存,仅下载4个组件 (模拟方法:点击地址栏,然后点击回车)

 

以上模拟全缓存的方法,在IE /  Chrome / Firefox 上都是成功的。

但在Safari 上却行不通,Steve Souders也有相关的实验,参见同一链接。

 

作者: 谭砚耘@WPO及网站可用性-科研笔记

版权属于: 谭砚耘 (TOTHETOP至尚国际  )

版权所有。转载时必须以链接形式注明作者和原始出处

 

如果你希望与作者交流,请发送邮件到 tanyanyun/at/163.com 别忘了修改小老鼠

 

你可能感兴趣的:(性能优化,浏览器缓存,WPO,无缓存,全缓存)