浏览器的刷新有 2 类
第 1 类:普通刷新。会首先从缓存中加载内容,缓存中已过期部分内容会从服务器重新请求。
第 2 类:强制刷新(刷新缓存和页面)。会从服务器重新请求所需要加载的内容
第 2 类刷新的情况:
1)快捷键 CTRL + F5
2)按键 CTRL + 点击工具栏刷新按钮
3)按键 CTRL + 点击地址栏右侧刷新按钮
第 1 类刷新的情况:
1)点击工具栏刷新按钮
2)点击地址栏右侧刷新按钮
3)网页中右键菜单,点击刷新按钮
4)菜单:查看->重新载入
5)快捷键 F5
6)快捷键 SHIFT + F5
7)通过鼠标手势刷新
8)按键 CTRL + 网页中右键菜单,点击刷新按钮
9)按键 CTRL + 菜单:查看->重新载入
10)Webkit 核下,快捷键 CTRL + R
那么这两类刷新在测试过程中应该如何测试呢?在微软的官网上可以看到下面的描述:
REFRESH_NORMAL
Refresh without sending a “Pragma:no-cache” HTTP header to the
server.REFRESH_IFEXPIRED
Not currently implemented.REFRESH_COMPLETELY
Refresh without forced cache validation by sending a “Pragma:no-cache”
header to the server (HTTP URLs only). Same as pressing Ctrl+F5 in Microsoft
Internet Explorer.
原文摘录至:http://download.taobaocdn.com/client/browser/download.php实际测试中采用 wireshark 进行测试,当打开相应网址的时候用 wireshark 捕获相应的消息,查看 http 消息中的内容,其中 [Hypertext Transfer Protocol]中包含值[Cache-control:no-cache]为强制刷新,不包含[Cache-control:no-cache]的为普通刷新。其中 http1.0 以“pragma: no-cache”为准 http1.1 的以 ”Cache-Control:no-cache”为准,实际情况列举如下:
服务器支持 http 1.1 的情况下 不发 pragma:no-cache 只有 Cache-Control:
no-cache
服务器支持 http 1.0 的情况下 只发 pragma:no-cache
不知道服务器是否支持 http 1.1 时 两者都发.
微信+17031115530,拉测试微信群交流
网友评论