目錄
例子:
關鍵說明:
)" > 2。預取( rel="prefetch"
dns-prefetch )" > 3。預連接( rel="preconnect"dns-prefetch
替代方案: dns-prefetch (打火機)
什麼時候使用哪個?
最佳實踐
首頁 web前端 H5教程 預加載,預取和預處理資源

預加載,預取和預處理資源

Aug 03, 2025 pm 01:30 PM
效能最佳化 資源載入

預緊力是現在需要的關鍵資源,預購預測未來的導航需求,並預先連接速度與第三方服務器的連接升高;使用預加載量來用於具有AS屬性的字體或英雄圖像,例如在空閒時間內預取可能的下一頁資源,並將早期連接設置預取到諸如CDNS或API之類的域,以謹慎和戰略性地應用於範圍內,以避免使用資源爭奪並確保最佳性能。

在優化Web性能時,預加載預取預連接是強大的瀏覽器提示,可幫助更快地提供資源並改善感知的負載時間。儘管聽起來相似,但每個人都有一個獨特的目的,應在戰略上使用。

這是每個人的作用,何時使用它們以及實施的實用技巧的細分。


1。預加載( rel="preload"

現在加載關鍵資源

用例:您知道在當前頁面加載中很快就需要資源 - 例如,Web字體,英雄映像或關鍵的CSS/JS文件,否則該文件可能會被瀏覽器發現來太晚。

preload告訴瀏覽器: “即使您還沒有在哪裡使用,也立即下載此信息。”

例子:

 <! - 預加載網絡字體 - >
<link rel =“ preload” href =“/fonts/myfont.woff2” as =“ font” type =“ font/woff2” crossorigin>

<! - 預加載一個關鍵腳本 - >
<link rel =“ preload” href =“/js/main.js” as =“ script”>

<! - 預加載英雄圖像 - >
<link rel =“ preload” href =“/images/hire.jpg” as =“ image”>

關鍵說明:

  • as需要屬性 - 它可以幫助瀏覽器優先級並應用正確的加載邏輯。
  • 很少使用:過度使用preload可以與更重要的資源競爭並損害性能。
  • 僅用於高優先級,渲染阻滯或後期發現的資產。

2。預取( rel="prefetch"

下載用於未來導航的資源

用例:預見下一頁上用戶可能需要的內容 - 例如,如果分析表明下一步訪問特定頁面的可能性很大。

prefetch是一個低優先級請求,在空閒時間內下載資源。

例子:

 <! - 預取可能的下一頁 - >
<link rel =“ prefetch” href =“/sext-page.html”>

<! - 在下一頁上預取腳本 - >
<link rel =“ prefetch” href =“/js/detail-page.js”>

關鍵說明:

  • 通用導航路徑的理想選擇(例如,登錄後,產品詳細信息頁面)。
  • 瀏覽器以低優先級對待prefetch ,因此不會干擾當前的頁面性能。
  • 當用戶徘徊在鏈接上或附近的滾動時,可以與交叉觀察者結合使用以預取。

提示:使用importance=low要求類似的行為:

 fetch(&#39;/data.json&#39;,{exuntion:&#39;low&#39;});

3。預連接( rel="preconnect"dns-prefetch

加快連接設置

用例:您正在從第三方域(例如CDN,Google字體,分析)加載資源。建立連接(DNS查找,TCP握手,TLS談判)可能需要數百毫秒。

preconnect告訴瀏覽器: “早點開始建立連接。”

例子:

 <! - 與CDN的預連接 - >
<link rel =“ prednect” href =“ https://cdn.example.com”>

<! - 與Google字體前連接 - >
<link rel =“ prednect” href =“ https://fonts.googleapis.com”>
<link rel =“ prednect” href =“ https://fonts.gstatic.com” crossorigin>

替代方案: dns-prefetch (打火機)

如果您只需要DNS分辨率,請使用:

 <link rel =“ dns-prefetch” href =“ https://api.example.com”>

關鍵說明:

  • preconnect更具侵略性 - 它設置了完整的TCP/TLS握手。
  • 僅用於您絕對需要的域 - 每個連接都會消耗系統資源。
  • dns-prefetch資源密集度較低,但僅解決DNS。

什麼時候使用哪個?

設想推薦提示
關鍵字體或圖像下方preload
用戶可能會導航到下一個prefetch
從CDN加載腳本preconnect
使用第三方分析API preconnectdns-prefetch
下次訪問的非關鍵資產prefetch

最佳實踐

  • 衡量影響:使用燈塔或Web生命值檢查這些提示是否真的提高了性能。
  • 避免過度使用:過多的preload標籤可以阻止更多重要的資源。
  • 使用動態導入:將prefetch與諸如react或vue之類的框架中的代碼分解。
  • 有條件預取:預取懸停或滾動以節省帶寬。
     link.AddeventListener(&#39;Mouseenter&#39;,()=> {
      const pref = document.createelement(&#39;link&#39;);
      pref.rel =&#39;prefetch&#39;;
      pref.href =&#39;/next-page.html&#39;;
      document.head.head.appendchild(pref);
    });

    基本上,這樣想到了:

    • preload =“我現在需要這個。”
    • prefetch =“我稍後可能需要。”
    • preconnect =“讓我們準備更快地與該服務器交談。”

    明智地使用這些提示可以刮掉數百毫秒的加載時間,而不會更改代碼結構。

    以上是預加載,預取和預處理資源的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1592
276
NGINX性能調整:針對速度和低潛伏期進行優化 NGINX性能調整:針對速度和低潛伏期進行優化 Apr 05, 2025 am 12:08 AM

Nginx性能調優可以通過調整worker進程數、連接池大小、啟用Gzip壓縮和HTTP/2協議、使用緩存和負載均衡來實現。 1.調整worker進程數和連接池大小:worker_processesauto;events{worker_connections1024;}。 2.啟用Gzip壓縮和HTTP/2協議:http{gzipon;server{listen443sslhttp2;}}。 3.使用緩存優化:http{proxy_cache_path/path/to/cachelevels=1:2k

Apache性能調整:優化速度和效率 Apache性能調整:優化速度和效率 Apr 04, 2025 am 12:11 AM

提升Apache性能的方法包括:1.调整KeepAlive设置,2.优化多进程/线程参数,3.使用mod_deflate进行压缩,4.实施缓存和负载均衡,5.优化日志记录。通过这些策略,可以显著提高Apache服务器的响应速度和并发处理能力。

C++類別設計中如何考慮效能最佳化? C++類別設計中如何考慮效能最佳化? Jun 05, 2024 pm 12:28 PM

C++類別設計中提升效能的技巧包括:避免不必要的複製、最佳化資料佈局、使用constexpr。實戰案例:使用物件池最佳化物件建立和銷毀。

縮放XML/RSS處理:性能優化技術 縮放XML/RSS處理:性能優化技術 Apr 27, 2025 am 12:28 AM

處理XML和RSS數據時,可以通過以下步驟優化性能:1)使用高效的解析器如lxml提升解析速度;2)採用SAX解析器減少內存使用;3)利用XPath表達式提高數據提取效率;4)實施多進程並行處理提升處理速度。

YII 2.0深水潛水:性能調整與優化 YII 2.0深水潛水:性能調整與優化 Apr 10, 2025 am 09:43 AM

提升Yii2.0应用性能的策略包括:1.数据库查询优化,使用QueryBuilder和ActiveRecord选择特定字段和限制结果集;2.缓存策略,合理使用数据、查询和页面缓存;3.代码级优化,减少对象创建和使用高效算法。通过这些方法,可以显著提升Yii2.0应用的性能。

PHP效能最佳化常見問題解析 PHP效能最佳化常見問題解析 Jun 05, 2024 pm 05:10 PM

透過以下方法提高PHP效能:啟用OPCache快取已編譯程式碼。使用一個快取框架(如Memcached)儲存經常使用的資料。減少資料庫查詢(如透過快取查詢結果)。最佳化程式碼(如使用內聯函數)。利用效能分析工具(如XHProf)辨識效能瓶頸。

怎樣在C  中優化數據結構佈局? 怎樣在C 中優化數據結構佈局? Apr 28, 2025 pm 08:51 PM

在C 中优化数据结构布局可以通过以下步骤实现:1.调整内存对齐,减少填充,如将结构体成员按大小排序。2.提高缓存友好性,将频繁访问的成员放在一起。3.优化结构体成员排序,将最常访问的成员放在前面。4.调整结构体大小,使其为缓存行的倍数,以减少跨缓存行访问。通过这些方法,可以显著提升程序性能和减少内存使用。

PHP性能優化服務 PHP性能優化服務 May 18, 2025 am 12:07 AM

phpapplications canbeoptimized focusingoncodeeffiped,緩存,數據庫Querice和serverConfiguration.1)usefasterfunctionslikestripionslikesterposoverpreg_matchforsimplestringoperations.2)

See all articles