Preload, prefetch és mås címkék

Van SzĂĄmos mĂłdja van a webes teljesĂ­tmĂ©ny javĂ­tĂĄsĂĄnak. Az egyik a kĂ©sƑbb szĂŒksĂ©ges tartalom elƑtöltĂ©se. CSS prefetching, teljes oldal elƑrenderelĂ©se vagy domain nĂ©v feloldĂĄsa. ElƑkĂ©szĂ­tĂŒnk mindent elƑre, majd azonnal megjelenĂ­tjĂŒk az eredmĂ©nyt! JĂłl hangzik.

MĂ©g jobb, hogy ezt nagyon egyszerƱen megvalĂłsĂ­thatjuk. Öt <link rel> cĂ­mke adja a böngĂ©szƑnek az utasĂ­tĂĄst az elƑkĂ©szĂ­tƑ lĂ©pĂ©sekhez:

<link rel="prefetch" href="/style.css" as="style" />
<link rel="preload" href="/style.css" as="style" />

<link rel="preconnect" href="https://example.com" />
<link rel="dns-prefetch" href="https://example.com" />

<link rel="prerender" href="https://example.com/about.html" />


Röviden elmagyarĂĄzzuk, hogy mit csinĂĄlnak Ă©s mikor Ă©rdemes Ƒket hasznĂĄlni.

Ugrås ide: preload · prefetch · preconnect · dns-prefetch · prerender

preload

<link rel="preload"> jelzi a böngĂ©szƑnek, hogy a lehetƑ leghamarabb töltse le Ă©s cache-elje a forrĂĄst (pĂ©ldĂĄul egy scriptet vagy CSS fĂĄjlt). Ez hasznos, ha a forrĂĄsra nĂ©hĂĄny mĂĄsodpercen belĂŒl szĂŒksĂ©g lesz a lap betöltĂ©se utĂĄn — Ă©s szeretnĂ©d felgyorsĂ­tani a folyamatot.

A böngĂ©szƑ nem csinĂĄl semmit a forrĂĄssal a letöltĂ©s utĂĄn. A script-ek nem futnak, a CSS fĂĄjlok nem kerĂŒlnek alkalmazĂĄsra. A forrĂĄs egyszerƱen cache-lve van Ă©s azonnal rendelkezĂ©sre ĂĄll kĂ©rĂ©sre.

Szintaxis

<link rel="preload" href="/style.css" as="style" />

href megadja a letölteni kívånt forråst.

as bĂĄrmilyen dolog lehet, amit a böngĂ©szƑ letölthet:

  • style stĂ­luslapokhoz,
  • script script-ekhez,
  • font betƱtĂ­pusokhoz,
  • fetch-t azokhoz a forrĂĄsokhoz, amiket a fetch() vagy XMLHttpRequest,
  • teljes lista ld. a MDN-en.

Fontos megadni az attribĂștumot as — ez segĂ­t a böngĂ©szƑnek helyesen prioritizĂĄlni Ă©s ĂŒtemezni a letöltĂ©st.

Mikor hasznĂĄljuk

HasznĂĄlj elƑtöltĂ©st, ha a forrĂĄsra a lehetƑ leghamarabb szĂŒksĂ©g lesz. PĂ©ldĂĄul:

  • KĂŒlsƑ fĂĄjlokbĂłl szĂĄrmazĂł nem szabvĂĄnyos betƱtĂ­pusok:
    <!-- index.html -->
    <link rel="stylesheet" href="index.css" />
    
    /* index.css */
    @font-face {
      src: url('comic-sans.woff2') format('woff2');
    }

    mĂĄr tartalmaz egy elƑre lĂ©trehozott önalĂĄĂ­rt TLS/SSL tanĂșsĂ­tvĂĄnyt. Ennyi nekem elegendƑ, mivel zĂĄrva tartom a kĂŒlsƑ hozzĂĄfĂ©rĂ©st. Azoknak, akik mĂĄs tĂ­pusĂș tanĂșsĂ­tvĂĄnyokat szeretnĂ©nek hasznĂĄlni, van comic-sans.woff2 csak a betöltĂ©s Ă©s a parse utĂĄn kezd el betöltƑdni. index.cssHogy ne kelljen olyan sokĂĄig vĂĄrni, a betƱtĂ­pust korĂĄbban is betöltheted ezzel: <link rel="preload">:

    <link rel="preload" href="comic-sans.woff2" as="font" />
  • Ha a stĂ­lusaidat a Critical CSS megközelĂ­tĂ©s szerint kĂ©t rĂ©szre osztod, kritikusra (az azonnali renderelĂ©shez) Ă©s nem kritikusra:
    <style>
    /* Inline kritikus stĂ­lusok */
    </style>
    
    <script>
    /* Egyedi JS, ami elkezdi letölteni a nem kritikus stílusokat */
    loadCSS('/app/non-critical.css');
    </script>

    Ezen megközelĂ­tĂ©s mellett a nem kritikus stĂ­lusok csak JavaScript betöltĂ©sekor kezdƑdnek el, ami nĂ©hĂĄny mĂĄsodperccel a renderelĂ©s utĂĄn törtĂ©nhet meg. A JS vĂĄrakozĂĄsa helyett hasznĂĄlja <link rel="preload">, hogy korĂĄbban kezdje a betöltĂ©st:

    /* Inlined critical styles */

Ne hasznĂĄlja tĂșlzĂĄsba a preloaded-t. Ha mindent egyszerre tölt be, a webhely nem fog varĂĄzslatos mĂłdon felgyorsulni, inkĂĄbb Ă©ppen ellenkezƑleg, megnehezĂ­ti a böngĂ©szƑ szĂĄmĂĄra a megfelelƑ munkamenet tervezĂ©sĂ©t.

Ne keverje össze a prefetch-el. Ne hasznĂĄlja <link rel="preload">, ha a forrĂĄsra azonnal nincs szĂŒksĂ©ge az oldal betöltĂ©se utĂĄn. Ha kĂ©sƑbb szĂŒksĂ©ge lesz rĂĄ, pĂ©ldĂĄul a következƑ oldalhoz, akkor hasznĂĄlja <link rel= "prefetch">.

Részletek

Ez egy kötelezƑ tag a böngĂ©szƑ vĂ©grehajtĂĄsa szĂĄmĂĄra (ha tĂĄmogatja), ellentĂ©tben az összes többi taggal, amelyek a preload-hoz kapcsolĂłdnak. A böngĂ©szƑnek kötelezƑ betölteni a forrĂĄst, amelyet a <link rel="preload">meghatĂĄroz. MĂĄs esetekben elƑfordulhat, hogy figyelmen kĂ­vĂŒl hagyja a preload-ot, pĂ©ldĂĄul, ha lassĂș kapcsolaton dolgozik.

PrioritĂĄsok. KĂŒlönbözƑ forrĂĄsoknak (stĂ­lusok, szkriptek, betƱk stb.) a böngĂ©szƑk ĂĄltalĂĄban eltĂ©rƑ prioritĂĄsokat rendelnek, hogy elƑször a legfontosabb forrĂĄsokat töltsĂ©k be. EbbƑl a szempontbĂłl a böngĂ©szƑ a asattribĂștum alapjĂĄn hatĂĄrozza meg a prioritĂĄst. A Chrome böngĂ©szƑ szĂĄmĂĄra megteheti a prioritĂĄsok teljes tĂĄblĂĄzatĂĄt.

Preload, prefetch és mås címkék

prefetch

<link rel= "prefetch"> kĂ©ri a böngĂ©szƑt, hogy töltse le Ă©s tĂĄrolja a forrĂĄst (pĂ©ldĂĄul egy szkriptet vagy stĂ­luslapot) hĂĄttĂ©rben. A betöltĂ©s alacsony prioritĂĄssal törtĂ©nik, Ă­gy nem akadĂĄlyozza a fontosabb forrĂĄsokat. Ez hasznos, ha a forrĂĄsra a következƑ oldalon szĂŒksĂ©ge lesz, Ă©s elƑre szeretnĂ© tĂĄrolni.

Itt is a böngĂ©szƑ nem tesz semmit a forrĂĄssal a betöltĂ©s utĂĄn. A szkriptek nem futnak, a stĂ­luslapok nem alkalmazĂłdnak. A forrĂĄs csak tĂĄrolĂłdik Ă©s azonnal rendelkezĂ©sre ĂĄll kĂ©rĂ©s esetĂ©n.

Szintaxis

<link rel="prefetch" href="/style.css" as="style" />

href megadja a letölteni kívånt forråst.

as bĂĄrmilyen dolog lehet, amit a böngĂ©szƑ letölthet:

  • style stĂ­luslapokhoz,
  • script script-ekhez,
  • font betƱtĂ­pusokhoz,
  • fetch-t azokhoz a forrĂĄsokhoz, amiket a fetch() vagy XMLHttpRequest,
  • teljes lista ld. a MDN-en.

Fontos megadni az attribĂștumot as — ez segĂ­t a böngĂ©szƑnek a prioritĂĄsok helyes beĂĄllĂ­tĂĄsĂĄban Ă©s a betöltĂ©s tervezĂ©sĂ©ben.

Mikor hasznĂĄljuk

MĂĄs oldalakrĂłl szĂĄrmazĂł forrĂĄsok letöltĂ©sĂ©hez, ha egy mĂĄsik oldalrĂłl szĂŒksĂ©ge van a forrĂĄsra, Ă©s szeretnĂ© elƑre betölteni, hogy kĂ©sƑbb felgyorsĂ­thassa az adott oldal renderelĂ©sĂ©t. PĂ©ldĂĄul:

  • Önnek van egy online boltja, Ă©s a felhasznĂĄlĂłk 40%-a elhagyja a fƑoldalt a termĂ©koldalra. HasznĂĄlja <link rel= "prefetch">, CSS Ă©s JS fĂĄjlok betöltĂ©se a termĂ©koldalak megjelenĂ­tĂ©sĂ©hez.
  • Egyoldalas alkalmazĂĄsod van, ahol a kĂŒlönbözƑ oldalak kĂŒlönbözƑ csomagokat töltenek be. Amikor a felhasznĂĄlĂł meglĂĄtogat egy oldalt, elƑtöltheted az összes csomagot, amelyre az hivatkozik.

ValĂłszĂ­nƱleg ezt a taget biztonsĂĄgosan hasznĂĄlhatod bĂĄrmilyen mennyisĂ©gben.. A böngĂ©szƑk ĂĄltalĂĄban a prefetch-t a legalacsonyabb prioritĂĄssal tervezik, Ă­gy senkinek sem zavarĂł. Csak tartsd Ă©szben, hogy a felhasznĂĄlĂł forgalmĂĄt hasznĂĄlja fel, ami pĂ©nzbe kerĂŒlhet.

Nem sĂŒrgƑs kĂ©rĂ©sekhez.. Ne hasznĂĄlja <link rel= "prefetch">, amikor a forrĂĄsra nĂ©hĂĄny mĂĄsodpercen belĂŒl szĂŒksĂ©ged van. Ilyen esetben alkalmazd a <link rel="preload">.

Részletek

Nem kötelezƑ tag.. A böngĂ©szƑnek nem kötelessĂ©ge követni ezt az utasĂ­tĂĄst, figyelmen kĂ­vĂŒl hagyhatja, pĂ©ldĂĄul lassĂș kapcsolaton.

Prioritås a Chrome-ban.. A Chrome-ban <link rel= "prefetch"> åltalåban minimålis prioritåssal fut (låsd a a prioritåsok teljes tåblåzatåt), azaz minden mås betöltése utån.

preconnect

<link rel= "preconnect"> kĂ©rheti a böngĂ©szƑt, hogy csatlakozzon a domainhez elƑre, amikor szeretnĂ©d felgyorsĂ­tani a jövƑbeli kapcsolat lĂ©tesĂ­tĂ©sĂ©t.

A böngĂ©szƑnek lĂ©tre kell hoznia a kapcsolatot, ha forrĂĄsokat von ki egy Ășj kĂŒlsƑ domainrƑl. PĂ©ldĂĄul, ha Google Fonts betƱtĂ­pusokat, React-et töltesz be a CDN-rƑl, vagy JSON vĂĄlaszt kĂ©rsz az API szerverrƑl.

Új kapcsolat lĂ©tesĂ­tĂ©se ĂĄltalĂĄban nĂ©hĂĄny szĂĄz milliszekundumot vesz igĂ©nybe. Ez egyszer törtĂ©nik meg, de Ă­gy is idƑt vesz el. Ha elƑre lĂ©tesĂ­ted a kapcsolatot, idƑt takarĂ­thatsz meg, Ă©s gyorsabban töltheted le a forrĂĄsokat errƑl a domainrƑl.

Szintaxis

<link rel= "preconnect" href="https://api.my-app.com" />

href megmutatja a domainnevet, amelynek IP-cĂ­mĂ©t meg kell hatĂĄrozni. ÁllĂ­thatĂł elƑtaggal (https://domain.com) vagy anĂ©lkĂŒl (//domain.com).

Mikor hasznĂĄljuk

HasznĂĄlj olyan domaineket, amelyekre hamarosan szĂŒksĂ©ged lesz fontos stĂ­lus, script vagy kĂ©p betöltĂ©sĂ©re, de mĂ©g nem ismered a forrĂĄs URL-jĂ©t. PĂ©ldĂĄul:

  • Az alkalmazĂĄsod ezen a helyen fut my-app.com Ă©s AJAX kĂ©rĂ©seket indĂ­t a api.my-app.com: nem tudod elƑre a konkrĂ©t kĂ©rĂ©seket, mert azok dinamikusan kĂ©szĂŒlnek a JS-bƑl. Itt teljesen indokolt a tag hasznĂĄlata az elƑzetes csatlakozĂĄsra a domainhez.
  • Az alkalmazĂĄsod ezen a helyen fut my-app.com Ă©s a Google Fonts betƱtĂ­pusokat hasznĂĄlja. Ezeket kĂ©t lĂ©pĂ©sben töltik be: elƑször a CSS fĂĄjl betöltĂ©se törtĂ©nik a következƑ domainrƑl fonts.googleapis.com, majd ez a fĂĄjl kĂ©ri a betƱtĂ­pusokat a fonts.gstatic.com. Nem tudod, hogy pontosan mely betƱtĂ­pus fĂĄjlok fognak fonts.gstatic.com SzĂŒksĂ©ged lesz rĂĄ, amĂ­g le nem töltöd a CSS fĂĄjlt, ezĂ©rt elƑre csak egy elƑzetes kapcsolatot tudunk lĂ©trehozni.

HasznĂĄlj ezt a tagelet, hogy kissĂ© felgyorsĂ­ts egy kĂŒlsƑ scriptet vagy stĂ­lust. az elƑzetes kapcsolat lĂ©trehozĂĄsĂĄval.

Ne abuszĂĄlj vele.A kapcsolat lĂ©trehozĂĄsa Ă©s fenntartĂĄsa költsĂ©ges mƱvelet az ĂŒgyfĂ©l Ă©s a szerver szĂĄmĂĄra egyarĂĄnt. HasznĂĄlj ezt a taget maximum 4-6 domain esetĂ©n.

Részletek

Nem kötelezƑ tag.A böngĂ©szƑ nem köteles követni ezt az utasĂ­tĂĄst, Ă©s figyelmen kĂ­vĂŒl hagyhatja, pĂ©ldĂĄul ha mĂĄr sok kapcsolat van beĂĄllĂ­tva, vagy mĂĄs esetekben.

Mit tartalmaz a csatlakozĂĄsi folyamat. A böngĂ©szƑnek a minden egyes webhelyhez valĂł csatlakozĂĄsĂĄhoz a következƑ lĂ©pĂ©seket kell vĂ©grehajtania:

  • DNS feloldĂĄs. Megkeresi a szerver IP-cĂ­mĂ©t (216.58.215.78) a megadott domain nĂ©vhez (mrkaran.dev).
  • TCP kĂ©zfogĂł. Csomagcsere (ĂŒgyfĂ©l → szerver → ĂŒgyfĂ©l), hogy TCP kapcsolatot kezdemĂ©nyezzen a szerverrel.
  • TLS kĂ©zfogĂł (csak HTTPS webhelyekhez). KĂ©t kör csomagcserĂ©t vĂ©gez (ĂŒgyfĂ©l → szerver → ĂŒgyfĂ©l → szerver → ĂŒgyfĂ©l), hogy biztonsĂĄgos TLS munkamenetet indĂ­tson.

Megjegyzés: Az HTTP/3 javítja és felgyorsítja a kézfogó mechanizmust, de még mindig messze van.

dns-prefetch

<link rel= "dns-prefetch"> kĂ©ri a böngĂ©szƑt, hogy elƑre hajtsa vĂ©gre a DNS feloldĂĄst a domainhez, ha hamarosan csatlakozni fogsz hozzĂĄ, Ă©s szeretnĂ©d felgyorsĂ­tani a kezdeti kapcsolatot.

A böngĂ©szƑnek meg kell hatĂĄroznia a domain IP-cĂ­mĂ©t, ha Ășj kĂŒlsƑ domainrƑl szeretne erƑforrĂĄsokat betölteni. PĂ©ldĂĄul Google Fonts betöltĂ©se, React CDN-bƑl vagy JSON vĂĄlasz lekĂ©rĂ©se API szervertƑl.

Minden Ășj domain esetĂ©n a DNS rekord feloldĂĄsa ĂĄltalĂĄban körĂŒlbelĂŒl 20-120 ms-ot vesz igĂ©nybe. Ez csak a domainrƑl elsƑkĂ©nt betöltött erƑforrĂĄsra vonatkozik, de Ă­gy is kĂ©slekedĂ©st jelent. Ha elƑre hajtjuk vĂ©gre a DNS feloldĂĄst, idƑt takarĂ­thatunk meg, Ă©s gyorsabban betölthetjĂŒk az erƑforrĂĄst.

Szintaxis

<link rel= "dns-prefetch" href="https://api.my-app.com" />

href megadja a domain nevet, amelyhez IP-cĂ­met kell beĂĄllĂ­tani. MegadhatĂł elƑtĂŒkörrel (https://domain.com) vagy anĂ©lkĂŒl (//domain.com).

Mikor hasznĂĄljuk

HasznĂĄlj olyan domaineket, amelyekre hamarosan szĂŒksĂ©ged lesz az ottani erƑforrĂĄsok betöltĂ©sĂ©hez, amelyeket a böngĂ©szƑ nem ismer elƑre. PĂ©ldĂĄul:

  • Az alkalmazĂĄsod ezen a helyen fut my-app.com Ă©s AJAX kĂ©rĂ©seket indĂ­t a api.my-app.com: nem tudod elƑre a konkrĂ©t kĂ©rĂ©seket, mert azok dinamikusan kĂ©szĂŒlnek a JS-bƑl. Itt teljesen indokolt a tag hasznĂĄlata az elƑzetes csatlakozĂĄsra a domainhez.
  • Az alkalmazĂĄsod ezen a helyen fut my-app.com, Ă©s Google Fonts betöltĂ©seket hasznĂĄl. Ezek kĂ©t lĂ©pĂ©sben töltƑdnek be: elƑször a CSS fĂĄjl töltƑdik le a domainrƑl. fonts.googleapis.com, majd ez a fĂĄjl kĂ©ri a betƱtĂ­pusokat a fonts.gstatic.com. Nem tudod, hogy pontosan mely betƱtĂ­pus fĂĄjlok fognak fonts.gstatic.com SzĂŒksĂ©ged lesz rĂĄ, amĂ­g le nem töltöd a CSS fĂĄjlt, ezĂ©rt elƑre csak egy elƑzetes kapcsolatot tudunk lĂ©trehozni.

HasznĂĄlj ezt a tagelet, hogy kissĂ© felgyorsĂ­ts egy kĂŒlsƑ scriptet vagy stĂ­lust. az elƑzetes kapcsolat lĂ©trehozĂĄsĂĄval.

KĂ©rlek, figyelj a hasonlĂł jellemzƑkre a <link rel= "dns-prefetch"/> Ă©s <link rel= "preconnect">. ÁltalĂĄban nincs Ă©rtelme Ƒket egy domainhez hasznĂĄlni: <link rel= "preconnect"> mĂĄr tartalmazza <link rel= "dns-prefetch"/> Ă©s mĂ©g sok mĂĄst. KĂ©t esetben lehet indokolt:

  • A rĂ©gi böngĂ©szƑk tĂĄmogatĂĄsĂĄra van szĂŒksĂ©g. <link rel= "dns-prefetch" /> tĂĄmogatott IE10-tƑl Ă©s Safari 5-tƑl kezdƑdƑen. <link rel= "preconnect"> egy ideig a Chrome Ă©s a Firefox is tĂĄmogatta, de a Safari 11.1-ben lett hozzĂĄadva Ă©s mĂ©g mindig nem tĂĄmogatja az IE/Edge. Ha ezeket a böngĂ©szƑket kell tĂĄmogatni, hasznĂĄljon <link rel= "dns-prefetch" /> mint tartalĂ©k opciĂłt <link rel= "preconnect">.
  • A kapcsolat gyorsĂ­tĂĄsĂĄra több mint 4–6 domainhez. A tag <link rel= "preconnect"> nem ajĂĄnlott több mint 4–6 domainnĂ©l, mivel a kapcsolat lĂ©trehozĂĄsa Ă©s fenntartĂĄsa költsĂ©ges mƱvelet. <link rel= "dns-prefetch" /> kevesebb erƑforrĂĄst fogyaszt, ezĂ©rt szĂŒksĂ©g esetĂ©n hasznĂĄlja.

Részletek

Nem kötelezƑ tag.. A böngĂ©szƑ nem köteles követni ezt az utasĂ­tĂĄst, ezĂ©rt lehet, hogy nem hajtja vĂ©gre a DNS feloldĂĄst, pĂ©ldĂĄul ha a lapon sok ilyen tag van, vagy valamilyen mĂĄs esetben.

Mi az a DNS. Minden internetes szerverhez egyedi IP-cĂ­m tartozik, ami Ă­gy nĂ©z ki: 216.58.215.78. A böngĂ©szƑ cĂ­msorĂĄba ĂĄltalĂĄban a webhely nevĂ©t Ă­rjĂĄk be (pĂ©ldĂĄul, mrkaran.dev), Ă©s a DNS-szerverek (Domain Name System) pĂĄrosĂ­tjĂĄk azt a szerver IP-cĂ­mĂ©vel (216.58.215.78).

Ahhoz, hogy meghatĂĄrozzuk az IP-cĂ­met, a böngĂ©szƑ DNS-szerverhez kell lekĂ©rdezĂ©st kĂŒldjön. Ez 20–120 ms-ot vesz igĂ©nybe egy Ășj kĂŒlsƑ domainhez valĂł csatlakozĂĄskor.

A DNS-t gyorsĂ­tĂłtĂĄrazza, bĂĄr nem tĂșl megbĂ­zhatĂłan. NĂ©hĂĄny operĂĄciĂłs rendszer Ă©s böngĂ©szƑ gyorsĂ­tĂłtĂĄrazza a DNS-lekĂ©rdezĂ©seket: ez megtakarĂ­t idƑt az ismĂ©telt lekĂ©rdezĂ©seknĂ©l, de a gyorsĂ­tĂłtĂĄrazĂĄsra nem lehet tĂĄmaszkodni. Linux alatt ĂĄltalĂĄban egyĂĄltalĂĄn nem mƱködik. A Chrome-nak van DNS gyorsĂ­tĂłtĂĄra, de az csak egy percig Ă©l. A Windows öt napig gyorsĂ­tĂłtĂĄrazza a DNS-vĂĄlaszokat.

prerender

<link rel= "prerender"> kĂ©ri a böngĂ©szƑt, hogy töltse le az URL-t Ă©s jelenĂ­tse meg egy lĂĄthatatlan fĂŒlön. Amikor a felhasznĂĄlĂł rĂĄkattint a linkre, az oldal azonnal meg kell jelennie. Ez hasznos, ha biztos benne, hogy a felhasznĂĄlĂł lĂĄtogatni fog egy adott oldalt, Ă©s szeretnĂ© felgyorsĂ­tani a megjelenĂ©sĂ©t.

Annak ellenĂ©re, hogy ennek a tagnak kivĂ©teles hatĂ©konysĂĄga van (vagy Ă©ppen azĂ©rt), 2019-ben <link rel= "prerender"> rosszul tĂĄmogatottĂĄk a fƑ böngĂ©szƑk. alĂĄbb..

Szintaxis

<link rel="prerender" href="https://my-app.com/pricing" />

href a håttérben futtatni kívånt URL-re mutat.

Mikor hasznĂĄljuk

Amikor biztos benne, hogy a felhasznĂĄlĂł egy adott oldalra megy majd. Ha van egy „alagĂșt”, amelyen a lĂĄtogatĂłk 70%-a A oldalrĂłl B oldalra navigĂĄl, akkor <link rel= "prerender"> A oldalon nagyon gyorsan megjelenĂ­theti B oldalt.

Ne abuszĂĄlj vele.. A korai renderelĂ©s rendkĂ­vĂŒl költsĂ©ges a forgalom Ă©s a memĂłria szempontjĂĄbĂłl. Ne hasznĂĄlja <link rel= "prerender"> több mint egy oldal szĂĄmĂĄra.

Részletek

Nem kötelezƑ tag.. A böngĂ©szƑ nem köteles követni ezt az utasĂ­tĂĄst, Ă©s figyelmen kĂ­vĂŒl hagyhatja azt, pĂ©ldĂĄul lassĂș kapcsolat vagy kevĂ©s szabad memĂłria esetĂ©n.

A memĂłria megtakarĂ­tĂĄsa Ă©rdekĂ©ben a Chrome nem vĂ©gez teljes renderelĂ©st, Ă©s csak pre-load NoState. Ez azt jelenti, hogy a Chrome betölti az oldalt Ă©s minden erƑforrĂĄst, de nem vĂ©gez renderelĂ©st Ă©s nem hajtja vĂ©gre a JavaScript kĂłdot.

A Firefox Ă©s a Safari egyĂĄltalĂĄn nem tĂĄmogatja ezt a taget. Ez nem sĂ©rti a specifikĂĄciĂłt, mivel a böngĂ©szƑk nem kötelesek vĂ©grehajtani ezt az utasĂ­tĂĄst; de Ă­gy is sajnĂĄlatos. Egy megvalĂłsĂ­tĂĄsi hiba a Firefoxban hĂ©t Ă©ven ĂĄt fennĂĄllt. Vannak hĂ­rek arrĂłl, hogy a Safari szintĂ©n nem tĂĄmogatja ezt a taget.

Összefoglaló

HasznĂĄlja:

  • <link rel="preload"> — amikor egy erƑforrĂĄsra szĂŒksĂ©ge lesz nĂ©hĂĄny mĂĄsodpercen belĂŒl
  • <link rel= "prefetch"> — amikor egy erƑforrĂĄst szeretne a következƑ oldalon
  • <link rel= "preconnect"> — amikor tudja, hogy hamarosan szĂŒksĂ©ge lesz egy erƑforrĂĄsra, de mĂ©g nem ismeri a teljes URL-jĂ©t
  • <link rel= "dns-prefetch"> — hasonlĂł, amikor tudja, hogy hamarosan szĂŒksĂ©ge lesz egy erƑforrĂĄsra, de mĂ©g nem ismeri a teljes URL-jĂ©t (rĂ©gi böngĂ©szƑk szĂĄmĂĄra)
  • <link rel= "prerender"> — amikor biztos benne, hogy a felhasznĂĄlĂłk egy adott oldalra navigĂĄlnak, Ă©s szeretnĂ© felgyorsĂ­tani annak megjelenĂ­tĂ©sĂ©t

ForrĂĄs: habr.com

MegbĂ­zhatĂł hosting vĂĄsĂĄrlĂĄsa weboldalak szĂĄmĂĄra, DDoS vĂ©delemmel, VPS VDS szerverek. đŸ”„ MegbĂ­zhatĂł webtĂĄrhely vĂĄsĂĄrlĂĄsa DDoS vĂ©delemmel, VPS VDS szerverek | ProHoster