刷新原理不同
F5触发的HTTP请求的请求头中通常包含了If-Modified-Since 或 If-None-Match字段,或者两者兼有;
CTRL+F5触发的HTTP请求的请求头中没有上面的那两个头,却有Pragma: no-cache 或 Cache-Control: no-cache 字段,或者两者兼有。
服务器响应不同
F5刷新页面方式服务端返回的是304 Not Modified,这时候浏览器使用本地缓存;
CTRL+F5刷新页面的方式,服务器看到发送过来的no-cache请求,就会把最新的文件全部响应过来,不去使用本地缓存。
注意:no-cache本质是协商缓存,并不是说完全不会再使用本地缓存,是要和服务器校验判断的。
刷新结果不同
F5刷新按钮只对当前页面进行刷新,只刷新本地缓存;Ctrl + F5 的行为也是刷新页面,但是会把浏览器中的临时文件夹的文件删除再重新从服务器下载。
同时,在时间戳相同时,两种方式的刷新方式不相同,例如我们长按F5时,页面只会刷新一次。而长按CTRL+F5会不断去请求服务器,刷新页面。