F5和CTRL+F5差异

  • F5:为简单刷新一下当前页面

  • Ctrl+F5:为强制刷新,也就是彻底的从Server拿一份新的资源过来,所以不光要发送HTTP request给Server,而且这个请求里面连If-Modified-Since/If-None-Match都没有,这样就逼着Server不能返回304,而是把整个资源原原本本地返回一份,这样,Ctrl+F5引发的传输时间变长了,自然网页Refresh的也慢一些。

F5和CTRL+F5刷新的区别包括以下三个方面:

一、刷新原理不同。

        F5触发的HTTP请求的请求头中通常包含了If-Modified-Since 或 If-None-Match字段,或者两者兼有;

        CTRL+F5触发的HTTP请求的请求头中没有上面的那两个头,却有Pragma: no-cache 或 Cache-Control: no-cache 字段,或者两者兼有。

二、服务端返回不同。

        F5刷新服务端返回304 Not Modified;

        Ctrl + F5刷新返回HTTP状态码200,原因是Ctrl+F5在发出请求时,会在请求消息头中加入Cache-Control:no-cache,Pragma:no-cache参数。

三、刷新结果不同。

        F5刷新按钮只对当前页面进行刷新,只刷新本地缓存;

        Ctrl + F5 的行为也是刷新页面,但是会把浏览器中的临时文件夹的文件删除再重新从服务器下载。

        比如某网站更新了 style.css 文件,如果单纯按 F5 刷新,那么当前页面还是使用未修改的 style.css 文件内容,如果按 Ctrl + F5 就会重新从服务器下载 style.css 文件,并使用修改后的 style.css 文件。

你可能感兴趣的:(前端,javascript,开发语言)