浏览器中F5和CTRL F5的行为区别

C# WPF多页面间的数据共享(经典) 实现页面间的数据共享有很多方法,比如:①事件的发布订阅 ②委托③ioc容器④静态类等,这节主要通过静态的集合实现数据的添加和获取。 阅读详情

前言

在印象中,浏览器中的F5和刷新按钮是一样的效果,都是对当前页面进行刷新;Ctrl-F5的行为也是刷新页面,但是会清除浏览器缓存,这在前端调试时候会常用。二者真正的区别是什么呢?在stackoverflow上有人给出了很详细的解释,整理如下。

说明

在不同的浏览器中F5和CTRL-F5的行为是不一样的,但是他们的主要行为还是非常相似的,以下结果是在FF,IE,Opera和Chrome中进行过测试得出。

  • F5使用缓存,并且只有在资源内容发生变化的时候才会去更新资源。

当刷新一个页面的时候,浏览器会尝试使用各种类型的缓存,并且会发送If-Modified-Since头到服务器,如果服务器返回304 Not Modified,那么浏览器会使用本地的缓存;如果服务器返回200 OK和资源内容,那么浏览器会使用返回的资源内容,并把资源内容进行缓存,待下次使用。

  • CTRL-F5 强制更新页面资源的缓存。

MSIE会发送Cache-Control: no-cache头,Firefox和Chrome除了发送Cache-Control: no-cache头之外,还会发送Pragma: no-cache头。Opera比较另类,不发送任何和缓存相关的头。

以下表格很直观的表明了F5和CTRL-F5的行为,由于原文中测试的浏览器版本较低,所以进行了更新。

F5 and CTRL-F5
┌────────────┬───────────────────────────────────────────────┐
│  UPDATED   │                 Firefox 3.x 4.x               │
│2011-04-24  │  ┌────────────────────────────────────────────┤
│            │  │              MSIE 7 8                      │
│            │  │  ┌─────────────────────────────────────────┤
│            │  │  │           MSIE 9                        │
│            │  │  │  ┌──────────────────────────────────────┤
│            │  │  │  │        Chrome 10                     │
│            │  │  │  │  ┌───────────────────────────────────┤
│            │  │  │  │  │     Opera 11                      │
│            │  │  │  │  │  ┌────────────────────────────────┤
│            │  │  │  │  │  │ I = "If─Modified─Since"        │
├────────────┼──┼──┼──┼──┼──┤ P = "Pragma: No─cache"         │
│          F5│IM│IM│I │IM│I │ C = "Cache─Control: no─cache"  │
│     CTRL─F5│CP│C │C │CP│- │ M = "Cache─Control: max─age=0" │
│  Click Icon│IM│I │I │IM│I │ Click Icon= "a mouse click on  │
│            │  │  │  │  │  │ refresh icon"                  │
└────────────┴──┴──┴──┴──┴──┴──-─────────────────────────────┘

HTTP协议说明

HTTP/1.1规范14.9.4中规定:

  • End-to-end reload(即CTRL-F5强制刷新)会发送如下HTTP头: 
    Cache-Control: no-cache 
    Pragma: no-cache

  • Specific end-to-end revalidation(即F5 刷新)会发送如下HTTP头: 
    Cache-Control: max-age=0 
    If-Modified-Since: Fri, 15 Apr 2011 12:08:21 GMT

参考

(全文完)
comments powered by Disqus

uniapp - 实现移动端H5微信公众号网页内置浏览器中预览和下载word文档(doc)、excel表格(xls)、ppt文稿、pdf文档等文件,微信内部打开预览和下载到本地详教程,兼容安卓苹果手机 uni-app,微信公众号,h5,移动端,web平台端,网页,网站,Uniapp微信公众号H5网站,内置浏览器下载文档,如何在微信浏览器中预览office文件,word文档,excel文档,pdf文档,ppt文档,office,微信内置浏览器下载文件,下载文件,在微信浏览器里面实现下载任意文件,H5需要在微信浏览器中下载excel文件,UniApp实现网页在微信内置浏览器中下载文件详细教程,安卓点击下载会提示打开浏览器,后端返回流文件,如何解决无法下载文件,跳转至浏览器下载文件,发送到电脑微信,安卓,苹果, 阅读详情

相关推荐

从零构建EtherCAT从站:SSC工具配置与TwinCAT3 PDO/SDO调试实战

本文详细介绍了从零构建EtherCAT从站的完整流程,重点讲解SSC工具配置与TwinCAT3 PDO/SDO调试实战。通过解析EtherCAT通信机制、PDO与SDO的核心概念,提供SSC工具配置技巧、XML文件生成与校验方法,以及TwinCAT3环境下的调试经验,帮助开发者高效完成EtherCAT从站开发与优化。

weixin_42520573的博客 340

F5 同 Ctrl+F5 的区别你可了解

前言代码修改后,告知产品 UI 问题已修复,让她本地验证一下。几分钟过后,产品说问题还可以复现。而后去产品那才发现她一直使用 F5 刷新页面。我告诉她 F5 和 Ctrl+F5 的区别后...

小生方勤 4852

告别unittest!用Pytest+Fixture重构你的Python测试代码(附实战案例)

本文详细介绍了如何从unittest迁移到Pytest框架,重点解析了Pytest的Fixture机制如何提升测试效率和代码简洁性。通过实战案例展示了Pytest在减少代码量、提升调试效率和资源管理方面的优势,帮助开发者重构Python测试代码。

weixin_26749245的博客 206

IE 、Chrome、火狐 浏览器 按下F5后,请求缓存的区别

最近在看浏览器缓存机制,自己用Nginx搭建了个简单服务器做测试 nginx.conf文件中配置 location / { expires 7d; root html; index index.html index.htm; } 谷歌浏览器 可以看到 resp...

wjx25zj的博客 417

Rocky Linux 9.0国内yum源一键替换指南(上海交大镜像站实测)

本文详细介绍了如何将Rocky Linux 9.0的yum源替换为上海交大镜像站,以解决国内用户访问官方源速度慢的问题。通过实测验证,上海交大镜像站提供高速下载和稳定更新,并提供了完整的替换步骤、常见问题解决方案及高级优化配置,帮助用户提升软件包下载效率。

weixin_29304985的博客 361

OP-TEE虚拟化支持详解

OP-TEE虚拟化支持解析 OP-TEE提供实验性虚拟化方案,支持多虚拟机共享安全执行环境。核心特性包括: 配置选项:CFG_VIRTUALIZATION启用虚拟化,CFG_VIRT_GUEST_COUNT限制虚拟机数量并分配均等内存资源; Hypervisor协作:需实现虚拟机生命周期通知、SMC参数转换、内存固定等关键协议; 当前限制:仅支持Armv8架构,硬件资源共享有限,采用静态内存配额机制; 架构实现:通过MMU分区切换和扩展内存分配器实现多租户隔离,Nexus核心层管理虚拟机上下文。该方案适用于

Linux内核架构师 109

浏览器中F5和CTRL F5的行为区别及如何强制更新资源

一、浏览器中F5和CTRL F5的行为区别    我们直接来看效果,下面是我打开qq网页,分别使用F5和CTRL F5,我们来看区别。 F5: CTRL F5: 区别:   首先直观上的区别是CTRL F5明显比F5加载速度慢了。观察资源加载发现,F5中大部分资源的状态码都是304,也就是重定向,使用了很多缓存资源;而CTRL F5中所有资源状态码都是200,都是重新下载了资源。...

一只苟延残喘的卑微蝼蚁 1843

Python爬虫教程:抓取地方政府网站的公开文件与政策信息

Web爬虫是指一种自动化脚本,用于模拟人类浏览器访问网页、提取网页内容的数据抓取工具。发送请求到目标网页;获取网页内容;解析网页内容,提取所需数据;将数据保存或进一步处理。爬虫可以抓取各种形式的数据,如文本、图片、文件等。本教程将重点展示如何抓取地方政府网站上公开的政策文件、公告等信息。许多政府网站都会采取一定的反爬虫措施,防止大量数据被爬取。IP封锁:如果短时间内大量请求来自同一IP,可能会被封锁。验证码:一些网站会使用验证码来验证访问者是否为机器人。动态加载。

2201_76125261的博客 1981

F5浏览器请求html资源超时,浏览器中F5和CTRL F5的行为区别及如何强制更新资源

一、浏览器中F5和CTRL F5的行为区别我们直接来看效果,下面是我打开qq网页,分别使用F5和CTRL F5,我们来看区别。F5: CTRL F5: 区别:首先直观上的区别是CTRL F5明显比F5加载速度慢了。观察资源加载发现,F5中大部分资源的状态码都是304,也就是重定向,使用了很多缓存资源;而CTRL F5中所有资源状态码都是200,都是重新下载了资源。1.F5使用缓存,并且只有在资源内...

weixin_42429956的博客 786

零基础入门篇③ PyCharm使用指南(个性化设置、开发必备插件、常用快捷键)

Python从入门到精通👉零基础入门篇③

hacker707的博客 4374

【大模型】AI 辅助编程操作实战使用详解

AI 编程实战使用详解

congge 8459

【转】浏览器中F5和CTRL F5的行为区别

原文地址:http://www.cnblogs.com/jiji262/p/3410518.html 前言 在印象中,浏览器中的F5和刷新按钮是一样的效果,都是对当前页面进行刷新;Ctrl-F5的行为也是刷新页面,但是会清除浏览器缓存,这在前端调试时候会常用。二者真正的区别是什么呢?在stackoverflow上有人给出了很详细的解释,整理如下。 说明 在不同的浏览器中F5和CTRL-F5...

weixin_30852367的博客 140

浏览器对F5的微观处理

今天和同事讨论优化前端缓存,在Firefox下按F5,总是发现有好几个iframe总是返回200状态,按理应该返回304才对。 同事说“ctrl+F5是本次加载无视所有Expires设置,F5也会重新请求”。 然后看了篇文章F5与Ajax深度调查,讲到了不同浏览器对F5响应是不同的。   新发现:看来浏览器(包括IE/FF,其他未测试)的F5对text/html应该有特殊处理,F5刷新时,...

weixin_33736832的博客 111

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

面试官:按 F5 刷新和在地址栏回车,浏览器的缓存策略到底有啥区别?

最近私信问我面试题的小伙伴实在太多了,一个个回有点回不过来。我花了两个周末,把星球里大家公认最容易挂的。

王中阳讲编程 706

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

.net8

1.F5,CTRL+F5 与 FRESH的区别: 这几种方式都会重载页面,即都会执行Page_Load函数,但是有不同操作, 当刷新一个页面的时候,浏览器会尝试使用各种类型的缓存,并且会发送If-Modified-Since头到服务器,如果服务器返回304 Not Modified,那么浏览器会使用本地的缓存;如果服务器返回200 OK和资源内容,那么浏览器会使用返回的资源内容,...

程序狗的成长之路 1055

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

UrlRewriter 缓存问题

在开发一个网站功能时,由于session 缓存不能及时清除。开始了一系列的探索。 现找到几篇不错的文章。 首先是 F5和 CTRL+F5的区别 F5和CTRL+F5的区别 (留给比较懒的人 :F5是优先读取缓存但框架内只读取本地缓存 。CTRL+F5发起一次新的请求,跳过缓存) 背景 我司的网站是框架结构的,一个页面里有多个iframe.正因为这个原因,每次当我

李古拉雷 1070

浏览器缓存概念以及流程

请求资源流程 浏览器行为的影响 在浏览器输入地址,然后回车: 会进行上述完整流程 f5刷新 则忽略资源有效时间,直接带相关条件(If-None-Match ( If-Modified-Since))去请求服务器 ctrl+f5 忽略资源有效时间,忽略条件,直接请求服务器资源 cache-control 缓存驱逐 驱逐算法用于将陈旧的缓存副本替换为新鲜的,注意,一个陈旧的缓存是...

weixin_34402408的博客 135

web缓存技术

web缓存包括浏览器缓存,数据库缓存,代理服务器缓存。代理服务器缓存反向代理服务器,在数据转发过程中,可以缓存一些数据,以提高响应速度。 这个了解的不多,不多写了。数据库缓存我们可以将一些读取非常频繁的数据,比如访问次数,表单中显示的数据等,存储在redis,memcached等基于内存的nosql数据库中,作为缓存,提高响应速度。读取缓存失败时,将会从mysql中取数据,并设置redis相应的数

koastal的博客 964

ngnix mysql 缓存清除_Nginx与浏览器之间缓存如何处理解决方法

浏览器对缓存的处理方式:通过Internet选项控制请求服务器策略:忽略资源的缓存策略情况下额外强制请求服务器的意思。检查存储的页面较新版本流程步骤如下:1. 每次访问网页时不管是否有缓存、资源状态是否过期,都会再次请求服务器。2. 每次启动Internet Explorer时不管是否有缓存、资源状态是否过期,都会再次请求服务器。3. 自动大体上和2是一样的,只是对于图片的策略有点不同。4. 从不...

weixin_35750953的博客 206

网页中F5刷新与ctrl + F5强制刷新的区别?

F5只是刷新一次当前页面的资源,使用F5刷新,浏览器仍然会重复利用之前的缓存数据。 使用ctrl+F5进行刷新,这个时候浏览器就不会重复利用之前已经缓存的数据了,而是去清空缓存,把所有的资源进行重新下载,使网页与本机储存的网页时间标记相同。 总结: F5刷新只是请求本地资源重新加载。那么在这个时候,如果在某些业务场景的服务器资源发生了改变,那么这边的本地用户可能某些功能或产品访问不到;​​​​​​​ctrl + F5 是直接请求服务器的资源,让当前页面的资源重新全部从服务器上下载下来,这样就全部更新了。

crazy_xieyi的博客 1万+

最完整介绍Visual C++ 6.0和Visual Studio 2022中的编译、生成和运行(CTRL+F7、F7、CTRL+F5)

最完整介绍Visual C++ 6.0和Visual Studio 2022中的编译、生成和运行(CTRL+F7、F7、CTRL+F5)

荔园微风的博客 3万+

VS中【F5】与【Ctrl+F5】及【F7】与【Ctrl+F7】的区别

先附上【VS2015常用快捷键总结】的链接,善用快捷键将会极大的提升我们编程的效率和VS的使用体验。 以前一直使用【F5】进行调试,所以每次执行程序的时候,都得在程序末尾手动添加system(“pause”)或者std::cin.get()。每次写程序都要添加一遍,总觉得太繁琐,于是就查了一下,这里进行总结,供大家参考。 区别 F5:调试,Ctrl+F5:执行。 F5是我们在调试程序、寻找Bug...

青箬笠,绿蓑衣 1万+

在浏览器地址栏按回车、F5、Ctrl+F5刷新网页的区别

不少同学问,不都是刷新吗?还有什么区别?其实,还是有的。其中,在地址栏按回车又分为两种情况。一是请求的URI在浏览器缓存中未过期,此时,使用Firefox的firebug插件在浏览器里显示的HTTP请求消息头如下:Host    192.168.3.174:8

The power of C, the secret of MD 1万+

浏览器: F5 和 Ctrl+F5的区别

Browser: F5 vs Ctrl+F5 在浏览器里中,按F5键或者点击Toobar上的Refresh/Reload图标(简称F5),和做F5同时按住Ctrl键(简称Ctrl+F5),效果是明显不一样的,通常Ctrl+F5明显要让网页Refresh慢一些,到底两者有什么区别呢? 在上一篇技术文章中,说到了Expires、Last-Modified/If-Modified-Since和ETag/If-None-Match这些HTTP Headers,F5/Ctrl+F5和这些有莫大关系。

NiceGY 2261
上一篇: Java虚拟机 对象的创建与OOP-Klass模型
下一篇: Spring 中的 @Async 和 @Scheduled 理解
DViewer
博客等级 码龄16年 16粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值