首页 > 其他分享 >如何利用浏览器资源提示关键词优化网页性能

如何利用浏览器资源提示关键词优化网页性能

时间:2024-07-11 11:20:33浏览次数:15  
标签:网页 关键词 prefetch 浏览器 加载 资源 页面

本文由 ChatMoney团队出品
在现代Web开发中,页面加载速度对用户体验至关重要。浏览器提供了一些资源提示关键词(Resource Hints),帮助开发者优化页面加载速度。这些关键词包括 defer、async、preload、prefetch、dns-prefetch、prerender 和 preconnect。合理利用这些关键词,可以显著提高页面加载性能,优化用户体验。

  1. defer 和 async
    现代浏览器引入了 defer 和 async 属性,用于优化 JavaScript 的加载和执行。
  • async:表示加载和渲染后续文档元素的过程将和 script.js 的加载与执行并行进行(异步)。也就是说,下载 JS 文件时不会阻塞 DOM 树的构建,但执行该 JS 代码会阻塞 DOM 树的构建。
    <script async src="script.js"></script>
  • defer:表示加载后续文档元素的过程将和 script.js 的加载并行进行(异步),但 script.js 的执行要在所有元素解析完成之后,DOMContentLoaded 事件触发之前完成。也就是说,下载 JS 文件时不会阻塞 DOM 树的构建,等待 DOM 树构建完毕后再执行此 JS 文件。
    <script defer src="myscript.js"></script>
  1. preload
    preload 是一种预加载的方式,向浏览器声明一个需要提前加载的资源。当资源真正被使用时,立即可用,而无需等待网络加载。
<link rel="stylesheet" href="style2.css">
<script src="main2.js"></script>

<link rel="preload" href="style1.css" as="style">
<link rel="preload" href="main1.js" as="script">

优点:

  • 允许浏览器设置资源优先级,优化资源交付。
  • 使浏览器能够确定资源类型,判断是否可以重用相同资源。
  • 浏览器可以根据资源类型发送合适的 Accept 头。
  1. prefetch
    prefetch 利用浏览器的空闲时间加载页面将来可能用到的资源,通常用于加载非首页的其他页面资源,以加快后续页面的加载速度。
    <link rel="prefetch" href="/path/to/style.css" as="style">
    prefetch 加载的资源可以缓存至少5分钟,即使资源本身不缓存,未完成的 prefetch 请求也不会在页面跳转时中断。
  2. DNS prefetching
    dns-prefetch 允许浏览器在后台执行 DNS 查找,减少延迟。当用户点击链接时,DNS 查找已经完成。
<!-- Prefetch DNS for external assets -->
<link rel="dns-prefetch" href="//fonts.googleapis.com">
<link rel="dns-prefetch" href="//www.google-analytics.com">
<link rel="dns-prefetch" href="//cdn.domain.com">
  1. prerender
    prerender 类似于 prefetch,但它实际上在后台渲染整个页面。这样,当用户导航到该页面时,页面已经渲染完毕,可以立即显示。
    <link rel="prerender" href="https://www.keycdn.com">
  2. preconnect
    preconnect 允许浏览器在 HTTP 请求实际发送到服务器之前设置早期连接,减少 DNS 查找、TCP 握手和 TLS 协商的时间。
    <link href="https://cdn.domain.com" rel="preconnect" crossorigin>
    浏览器会进行以下步骤:
  • 解析 href 属性值,判断是否为合法 URL。如果是,则继续判断 URL 的协议是否为 http 或 https。
  • 如果当前页面的 host 与 href 中的 host 不同,则不会带上 cookie;如果希望带上 cookie,可以加上 crossorigin 属性。
    最后
    通过合理利用 defer、async、preload、prefetch、dns-prefetch、prerender 和 preconnect 这些资源提示关键词,开发者可以显著提升网页的加载速度和用户体验。这些关键词使得浏览器能够更智能地管理资源加载顺序和优先级,从而最大限度地减少渲染阻塞和网络延迟。优化资源加载不仅能提升页面性能,还能为用户带来更加流畅和高效的浏览体验。
    关于我们
    本文由ChatMoney团队出品,ChatMoney专注于AI应用落地与变现,我们提供全套、持续更新的AI源码系统与可执行的变现方案,致力于帮助更多人利用AI来变现,欢迎进入ChatMoney获取更多AI变现方案!

标签:网页,关键词,prefetch,浏览器,加载,资源,页面
From: https://www.cnblogs.com/chatlin/p/18295683

相关文章

  • 【Stable Diffusion】(基础篇三)—— 关键词和参数设置
    提示词和文生图参数设置本系列笔记主要参考B站nenly同学的视频教程,传送门:B站第一套系统的AI绘画课!零基础学会StableDiffusion,这绝对是你看过的最容易上手的AI绘画教程|SDWebUI保姆级攻略_哔哩哔哩_bilibili本文主要讲解如何正确高效地使用合适的提示词来帮助完成AI绘......
  • 解决“网页源代码编码形式为utf-8,但爬虫代码设置为decode('utf-8')仍出现汉字乱码”的
    为了用爬虫获取百度首页的源代码,检查了百度的源代码,显示编码格式为utf-8但这样写代码,却失败了…..(这里提示:不要直接复制百度的URL,应该是http,不是https!!!)#获取百度首页的源码importurllib.request#(1)定义一个URLurl='http://www.baidu.com'#(2)模拟浏览器向服务器发送......
  • 网页封包App的秘密:如何提高App的下载量和用户?
    网页封包App的秘密随着移动互联网的发展,App的下载量和用户Retention率变得越来越重要。那么,如何提高App的下载量和用户Retention率?答案就是网页封包App。网页封包App是一种将网页内容封装到App中的技术,可以实现在App中加载网页内容,提高用户体验和下载量。但是,如何实现网页封......
  • 苹果笔记本能玩网页游戏吗 苹果电脑玩steam游戏怎么样 苹果手机可以玩游戏吗 mac电脑
    苹果笔记本无疑是优秀的“办公助手”,但对于游戏爱好者来说,它的游戏性能如何?首先,我们来讨论苹果笔记本在玩网页游戏方面的表现。一、苹果笔记本能玩网页游戏吗苹果笔记本历代都配备了高分辨率的屏幕和优质的显示技术,这使得苹果笔记本相比于Windows电脑,在视觉体验上有着明显的......
  • 爬虫 - 网页解析库
    BeautifulSoupBeautifulSoup是一个Python库,用于从HTML提取数据它提供了简单而灵活的方式来遍历和搜索文档树,以及解析和提取所需的数据安装BeautifulSoup的安装涉及第三方的扩展pip3installbeautifulsoup4BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三......
  • GitHub 创始人资助的开源浏览器「GitHub 热点速览」
    你是否注意到,现在主流的浏览器如Chrome、Edge、Brave和Opera都采用了谷歌的Chromium引擎?同时,谷歌每年不惜花费数十亿美元,确保其搜索引擎在Safari中的默认地位,甚至连Firefox也难逃商业利益的影响,这使得谷歌在浏览器和搜索引擎市场“一家独大”。GitHub创始人兼前CEO......
  • python+flask计算机毕业设计个人网页系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,个人网页系统已成为展示个人风采、分享生活点滴、交流思想感悟的重要平台。在信息爆炸的时代,个人网页不仅是个人......
  • 如何解决网页打开加载缓慢问题
    以我为例今天打开B站发现很多视频打开之后一直是加载状态,加载半天也打不开,知乎跳转到csdn也无法正常打开 但网络都是正常连接,网速也没问题 自己捣鼓的许久发现可以通过修改DNS来解决首先打开此电脑→找到网络→右键点击属性→左上角更改适配器设置→选择你的网络双击→......
  • tauri + vue3 如何实现在一个页面上局部加载外部网页?
    ......
  • 最简单的浏览器插件启用github双因素身份验证 (2FA)方法
    在github贡献一定的代码量后,github会要求启用双因素身份验证,否则登录会受到影响。一般有短信验证,app扫码验证,这里推荐一种最简单的方式,用浏览器插件验证。首先,在edge浏览器的微软插件商店(https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home)搜索Aut......