浏览器的刷新有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.
实际测试中采用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时,两者都发。
各省软考办 | ||||||||||