首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试官:你懂 HTTP 缓存,那说下浏览器强制刷新是怎么实现

这样第一次访问把资源下载下来之后,再次访问就只有 html 会发请求了: 这里 memory cache 和 disk cache 不用做啥区分,只是刚开始是存在内存里,关闭浏览器再打开就变成从磁盘加载了...这个用 Chrome DevTools 是看不到,它给隐藏了,我们要用别的抓包工具来看,比如 charles。 如何用 charles 抓 https 网页请求,在之前一篇文章里写过。...但你现在在 Chrome DevTools 里看到依然是之前 Cache-Control: 说明 Chrome DevTools 隐藏了这个行为,就像它隐藏了 sourcemap 文件请求一样。...sourcemap 文件请求也可以在 charles 里看到: Chrome DevTools 还有个禁用缓存功能,也是通过设置 Cache-Control 为 no-cache 实现: 有的同学可能问了...还有个清空缓存并强制刷新功能,那个是清掉本地缓存再去协商,能保证一定是拿到最新资源。 能答出网站缓存设置最佳实践,也知道强制刷新实现原理,就算是理论结合实践,真正搞懂 http 缓存了。

97630

Google IO 2023 — 前端开发者划重点

是否知道你有更简单方式来控制 CSS 变换呢,或者是否知道现在有新视口单位可以适应移动用户界面?...你还可以使用 Chrome devtools 加载瀑布工具来识别开始加载较晚资源,通过把图片包含在 HTML (让图片元素预加载)即可解决这个问题。...使用 CDN 前两个 LCP 建议是和如何构建 HTML 来让 LCP 资源易于被发现以及优先下载有关,但这都取决于首屏加载 HTML 速度。...BF Cache 我们去年看到 CLS 最大改进之一是在 Chrome 推出回退缓存或 BF 缓存。另外,Safari 和 Firefox 也已经上线这个功能一段时间了。...要查看 Chrome DevTools 是否正确加载了Source Map,有一个很好名为 Developer Resources Tab 可以显示任何错误。

43230
您找到你想要的搜索结果了吗?
是的
没有找到

进阶 | 用 preload 预加载页面资源

提前加载指定资源,不再出现依赖font字体隔了一段时间才刷出 如何使用 preload 使用 link 标签创建 使用 HTTP 响应头 Link 字段创建 如我们常用到antd 会依赖一个...CDN 上 font.js 字体文件,我们可以设置为提前加载,以及有一些模块虽然是按需异步加载,但在某些场景下知道其必定会加载,则可以设置 preload 进行预加载,如: 如何判断浏览器是否支持...preload 将提升资源加载优先级 使用 preload 前,在遇到资源依赖时进行加载: 使用 preload 后,不管资源是否使用都将提前加载: 可以看到,preload 资源加载顺序将被提前...不同资源加载优先级规则 我们先来看一张图: 这张表详见:Chrome Resource Priorities and Scheduling 这张图表示是,在 Chrome 46 以后版本,不同资源在浏览器渲染不同阶段进行加载优先级...prefetch 关系,且需要知道 preload 不同资源网络优先级差异。

1.1K20

网站优化,这些工具你一定用得着

小技巧: 使用无痕模式,减少 Chrome 扩展程序会给应用干扰。 4.火焰图 NetworkNetwork 这里我们可以看出来,我们资源加载一个顺序情况。...什么时间加载了什么资源,通过这些,我们更直观知道资源是否并行加载。 Frames上文提及到页面帧情况。...六、Chrome DevTools - Show Third Party Badges 很多情况下,并不是我们网站本身问题,有可能你使用三方资源拖累了站点性能。...七、Chrome DevTools - Block Request URL 对于项目中不确定是否有用资源,我们可以使用 Block Request URL 来排除。...十、Chrome DevTools - Rendering 关于重渲对页面的影响,我们就不多说了。那么如何知道页面的渲染过程呢?我们可以通过 Rendering 来可视化查看。

57710

前端开发必备之Chrome开发者工具(下篇)

此事件将在 Network 面板上两个地方显示: Overview 窗格蓝色竖线表示事件。 在 Summary 窗格,您可以看到事件的确切时间。 ? 页面完全加载时将触发 load。...下面的代码可以在 DevTools Console 运行。 它将使用 Network Timing API 检索所有资源。...然后,它将通过查找是否存在名称包含“style.css”条目对条目进行过滤。 如果找到,将返回相应条目。...性能面板(Performance) 使用 Chrome DevTools Timeline 面板可以记录和分析您应用在运行时所有活动。 这里是开始调查应用可觉察性能问题最佳位置。...要访问 Chrome DevTools 传感器控件,请执行以下操作: 打开 DevTools 主菜单 在 More Tools 菜单下,点击 Sensors ?

1.6K111

干货 | 提升50分,Trip.com 机票基于 PageSpeed 前端性能优化实践

如何资源高效加载成了一个非常重要问题,其中最重要一环是网络传输,专用 CDN 服务器包含就近访问,资源缓存和传输体积压缩等功能,能节省大量网络传输时间,这是基础设施角度。...PRPL 是四个词首字母缩写,分别代表: Preload 预加载最重要资源 Render 尽快渲染初始内容 Pre-cache 预缓存其他资源 Lazy load 懒加载其他路由和非关键资源 首先,...浏览器并不知道哪些资源是最重要,基于 Resource Hints 可以告诉浏览器资源优先级。...Long Task 可借助对应 Long Task Web API 进行监控,开发过程则使用 Chrome DevTools Performance 面板进行查看和调试。...在开发调试,Layout Shift 同样可以使用 Chrome DevTools Performance 进行分析,能查看每一次布局偏移分数,进行针对性优化。

59930

基于 Chrome Devtools 远程调试实现

Devtools-Remote-Debugger 正如其名,是一个基于最新版 Chrome Devtools 开发者工具构建 Web 远程调试工具。...devtools 本身是开源前端项目,很容易构建并集成,并与 Chrome DevTools Protocol (简称 CDP) 协议进行对接。...简单来说,实现远程调试需要具备三个条件: 通过原生 Javascript 实现 CDP 协议规范,构建出 sdk.js (文件名称任意),并在被调试页面中加载该 js 构建出 Chrome Devtools...大概示意图如下 为什么需要远程调试 外网用户反馈一些页面异常,比如某些操作没响应(大概率 JS 报错), 上报日志不一定能排除问题 本地开发时没有问题,但在某些机上表现不对 测试同学反馈 web...然后在需要调试 Web 项目 HTML 中加载该文件 npm run start 部署远程调试后端 Node 服务 建立连接后,在调试管理端打开 Chrome Devtools 开发者工具来调试目标页面

56930

聊一聊如何基于Chrome Devtools 进行远程调试

Devtools-Remote-Debugger 正如其名,是一个基于最新版 Chrome Devtools 开发者工具构建 Web 远程调试工具。...devtools 本身是开源前端项目,很容易构建并集成,并与 Chrome DevTools Protocol (简称 CDP) 协议进行对接。...简单来说,实现远程调试需要具备三个条件: 通过原生 Javascript 实现 CDP 协议规范,构建出 sdk.js (文件名称任意),并在被调试页面中加载该 js 构建出 Chrome Devtools...大概示意图如下 为什么需要远程调试 外网用户反馈一些页面异常,比如某些操作没响应(大概率 JS 报错), 上报日志不一定能排除问题 本地开发时没有问题,但在某些机上表现不对 测试同学反馈 web...然后在需要调试 Web 项目 HTML 中加载该文件 npm run start 部署远程调试后端 Node 服务 建立连接后,在调试管理端打开 Chrome Devtools 开发者工具来调试目标页面

92430

使用浏览器这么多年,你真的了解DevTools吗?

Chrome Devtools是Web测试时每天都要用工具,它提供了很多调试功能,可以帮助我们更好定位问题。而我们平时使用功能只是它全部功能子集,很多功能并没用到过。...、开发调试Response; 测试:服务端API数据是否正确、审查页面元素样式及布局、页面加载性能分析、自动化测试; 其他:安装扩展插件,如AdBlock、Gliffy、Axure等; 2 Devtools...(工作区)进行持久化保存; 4 Network 使用Network网络面板了解请求和下载资源文件并优化网页加载性能。...网络面板基础; 了解资源时间轴; 网络带宽限制; 主要记录前端往服务器发所有的http请求信息,每个请求发送了什么数据,服务器是否正常响应请求;如果响应请求,在Network标签下看到响应状态码...例如:在日常工作,希望调整一下某个页面的字体颜色,可以自行在Elements做调整,调整后可以在浏览器立即看到效果。当知道需要如何调整之后,再将相关信息给到UI设计师/前端开发,从而避免反复调整。

94720

用 preload 预加载页面资源

提供好处主要是 将加载和执行分离开,可不阻塞渲染和 document onload 事件 提前加载指定资源,不再出现依赖font字体隔了一段时间才刷出 如何使用 preload 使用 link...a.xxx.com/xxx/PcCommon.js"> 如何判断浏览器是否支持...preload 将提升资源加载优先级 使用 preload 前,在遇到资源依赖时进行加载: ? 使用 preload 后,不管资源是否使用都将提前加载: ?...这张表详见:Chrome Resource Priorities and Scheduling 这张图表示是,在 Chrome 46 以后版本,不同资源在浏览器渲染不同阶段进行加载优先级。...总结 preload 是个好东西,能告诉浏览器提前加载当前页面必须资源,将加载与解析执行分离开,做得好可以对首次渲染带来不小提升,但要避免滥用,区分其与 prefetch 关系,且需要知道 preload

1.8K20

浏览器之性能指标_FCP

---- Coverage:发现未使用JS和CSS Chrome DevTools"Coverage"选项卡可以帮助我们找到「未使用JavaScript和CSS代码」。...任何未使用代码行开头都会有一条红线。 「URL列」是被分析资源URL。 「Type列」表示资源是否包含CSS、JavaScript或两者都有。...而根据测试环境不同,又分为两类: 基于真实用户实际页面加载与页面交互 使用工具在稳定、受控环境模拟页面加载 ---- FCP 评分等级 在深入了解用于检查FCP各种工具之前,我们需要知道什么是一个良好...在页面加载,有时候加载资源「远远多于」,我们想要。 尤其,像CSS/JS这种渲染阻塞资源,同时它加载优先级又很高。在页面渲染,无疑会增加渲染时间。...启用缓存 使用适当缓存策略,将静态资源(如图片、CSS和JavaScript文件)缓存在用户浏览器或CDN。这样可以避免重复请求,并加快页面加载速度。

94230

DevTools 实现原理与性能分析实战

支持 DOM + CSS 查看,查看资源加载分析,脚本调试以及性能调试。现在开发中常用 DevTools 功能,基本也就这几个功能。...DevTools 此时开始超越同类工具,支持了远程机调试。Chrome 是多进程架构,DOM 和 JavaScript 是运行在子进程,所以 DevTools 底层实现,已与同类产品完全不同。...Chrome 架构师将 DevTools 实现架构调成在 client-server 模式,这个架构让远程机调试成为可能。...2)CPU 使用率:CPU 占用走势图 3)加载过程截屏:定时采集了网页截屏性能 4)网络加载时序:展示网络资源加载次序及耗时情况 5)帧耗时(Frames):展示了渲染每帧耗时情况,红色表示存在耗时较长帧...[24f47a0648684bf1a6a9d88b3099d45f~tplv-k3u1fbpfcp-zoom-1.image] 从 Network 板块观察资源请求发起顺序,是否存在长耗时任务,阻塞着首屏展示资源加载

1.1K30

提升 Web 核心性能指标的 9 个建议

你还可以使用 Chrome devtools 加载瀑布工具来识别开始加载较晚资源,通过把图片包含在 HTML (让图片元素预加载)即可解决这个问题。...使用 CDN 前两个 LCP 建议是和如何构建 HTML 来让 LCP 资源易于被发现以及优先下载有关,但这都取决于首屏加载 HTML 速度。...BF Cache 我们去年看到 CLS 最大改进之一是在 Chrome 推出回退缓存或 BF 缓存。另外,Safari 和 Firefox 也已经上线这个功能一段时间了。...Chrome DevTools 有一个工具,可以让我们测试页面是否有使用 BF Cache 资格。如果没办法使用 BF Cache ,工具一般都会告诉我们具体原因。...包括 Chrome Devtools、Lighthouse 和我们添加到 JavaScript 框架和平台中组件,许多这些建议已经涵盖在我们各种工具

42420

网站测速性能测试深入浅出教程[附15款常用网站测速工具

在进行速度测试之前 在运行速度测试之前,您应该检查是否已经在WordPress站点上配置并运行了以下两项内容: 缓存 CDN 如果您不知道,请咨询您Web开发人员或服务器提供商。...这表示TTFB(等待时间),当页面或资源未从缓存传递时,这是非常高峰值。 为什么这么重要? 因为如果你看看我们之前和之后速度测试,那么完全从缓存加载网站速度要快50%。...但是,扩展程序仍然提供了一些有用信息,但我们建议使用新且保持更新网站速度测试工具。 11. Chrome DevTools Chrome DevTools 网络面板是Chrome提供功能。...这在试图确定第三方服务或脚本在您站点上开销时非常有用。 ? Chrome Devtools请求拦截功能 Google团队还将Lighthouse整合到Chrome Devtools。...Chrome Devtools网页性能检测功能 Chrome Devtools其他功能包括能够禁用缓存,限制网络连接,获取页面呈现屏幕截图以及诊断较慢TTFB。 12.

3.3K10

自动化-Appium-​第一个Demo-Web(Python版)

如何知道浏览器与浏览器驱动是否匹配呢?...模拟器里浏览器版本号知道了,接下来开始确定要匹配浏览器驱动版本,Android浏览器一般都是Chrome内核,所以找与chromedriver版本是否匹配。...那如何知道浏览器与浏览器驱动是否匹配呢?...机里,打开要操作Chrome浏览器,本章示例为已经在机安装完成Chrome浏览器,之后打开百度首页,此时在PCChrome浏览器可以看到百度首页访问链接,如图所示,机里Chrome浏览器版本号为...61.0.3163.98 机里Chrome浏览器版本号知道了,接下来开始确定要匹配浏览器驱动版本,由于是Chrome浏览器,所以找与chromedriver版本是否匹配。

2.2K10

React Native调试技巧与心得

Resource 面板:用于查看当前页面所请求资源文件,如 HTML,CSS 样式文件等。 Audits 面板:用于优化前端页面,加速网页加载速度等。...如何通过 Chrome调试React Native程序 你可以通过以下步骤来调试你React Native程序: 第一步:启动远程调试 在Developer Menu下单击”Debug JS Remotely...在输入框,输入一个可解析为或假表达式。仅当条件为时,执行会在此暂停。 ? 心得:如果你想让程序在某处从来都不要暂停,可以编辑一个条件永远为false条件断点。...做iOS开发同学都知道在Xcode可以设置全局断点,其实在Chrome 开发者工具也同样有与之对应功能,叫“Pause On Caught Exceptions”。...参考 chrome-devtools CN-Chrome-DevTools Debugging About 本文出自《React Native学习笔记》系列文章。

6.7K50

安卓微信页面的调试

这类工具有很多,最常见要属Chrome开发者调试工具,在PC上我们可以直接通过设备模拟来使用原生支持DevTools,在机上我们可以使用它远程调试功能。 1....PCChrome DevTools不仅能识别到手机端Chrome浏览器,其他一些WebView浏览器也支持(比如微信内置X5浏览器 ,小米浏览器,华为浏览器等) 手机USB连接电脑,在手机开发者人员设置开启...chrome-devtools-frontend.appspot.com 216.58.203.244 chrome-devtools-frontend.appspot.com 然后就能开始审查了...在这个维度上看,调试方法要属Chrome设备模拟和远程调试 五、性能测试  某些时候还需要对页面进行性能测试,从加载时间线性能,到运行时流畅度性能,再到页面占用内容性能等角度来分析...本文先不展开,后续会有关于Chrome DevTools 调试整理,敬请期待~ 六、在机上调试  关于移动端页面的测试,有三个层次: 1. 在PC上用浏览器设备模拟测试 2.

4K20

值得关注一些Network面板小知识

查看加载事件 可以看出,基本上每个事件执行完成后,什么资源在它加载完成,上面的瀑布图很明显。 ---- 查看请求Timing细节 ?...浏览器正在短暂地分配磁盘缓存空间。 Stalled:由于排队描述任何原因,可以停止该请求。 DNS Lookup:浏览器正在解析请求IP地址。...---- 导出请求数据 有些时候,我们需要一份数据报告,那么应该这么做呢? ? HAR请求数据报告 有了请求数据报告后,那么我们如何分析它呢,就需要借助这个HAR分析器了。...设置网络状态 可以自己设置Download速度,Upload速度,Latency速度,完全满足你需求。 ---- 过滤请求 DevTools提供了许多工作流程,用于过滤掉与手头任务无关资源。 ?...en/docs/devtools/network [3] 如何记录 HAR 文件: https://toolbox.googleapps.com/apps/har_analyzer/ [4]Proxy

76810

值得关注一些Network面板小知识

那我就稍微列举几个⬇️ 一些小技巧 查看加载事件 网络面板上,对于事件DOMContentLoaded和load事件,分别是蓝线和红线,如图 查看加载事件 可以看出,基本上每个事件执行完成后,什么资源在它加载完成...浏览器正在短暂地分配磁盘缓存空间。 Stalled:由于排队描述任何原因,可以停止该请求。 DNS Lookup:浏览器正在解析请求IP地址。...HAR请求数据报告 有了请求数据报告后,那么我们如何分析它呢,就需要借助这个HAR分析器了。...---- 过滤请求 DevTools提供了许多工作流程,用于过滤掉与手头任务无关资源。 过滤请求 过滤文本框支持许多不同类型过滤,可以按字符串,正则表达式或属性过滤。...en/docs/devtools/network [3] 如何记录 HAR 文件: https://toolbox.googleapps.com/apps/har_analyzer/ [4]Proxy

54720
领券