Sobes.tech
Middle

Kaip galime padėti naršyklei pasiruošti išteklių įkėlimui?

sobes.tech AI

Atsakymas iš AI

Naudokite išankstinio įkėlimo direktyvas: preconnect, dns-prefetch, preload, prefetch, prerender.

Direktyva Aprašymas Pavyzdys
preconnect Iš anksto nustato ryšį (DNS užklausą, TCP ranką, TLS derybas) su kitu duomenų šaltiniu. <link rel="preconnect" href="https://cdn.example.com">
dns-prefetch Iš anksto išsprendžia domeno vardą. <link rel="dns-prefetch" href="//api.example.com">
preload Iš anksto prašo išteklių (JS, CSS, šriftus) su aukštu prioritetu, nesustabdyti atvaizdavimo. <link rel="preload" href="/styles.css" as="style">
prefetch Iš anksto prašo išteklių, kurie greičiausiai bus reikalingi ateityje (pvz., kitame puslapyje). <link rel="prefetch" href="/next_page.html">
prerender Iš anksto atvaizduoja kitą puslapį paslėptame skirtuke. <link rel="prerender" href="/upcoming_page.html">

Naudokite async arba defer atributą <script> žymėje asinchroniniam įkėlimui ir vykdymui, neblokiruojant HTML analizės:

<script src="script.js" async></script>
<script src="another-script.js" defer></script>

Naudokite loading="lazy" atributą vaizdams ir <iframe> jų vėlytam įkėlimui, kai jie patenka į matomą sritį:

<img src="image.jpg" loading="lazy" alt="Lazy loaded image">

Optimizuokite vaizdus (suspauskite, naudokite šiuolaikinius formatus kaip WebP), šriftus (subset, WOFF/WOFF2 formatus) ir kitus išteklius.

Minifikuokite ir suspauskite CSS, JavaScript ir HTML.

Naudokite Service Worker išteklių talpykloje ir neprisijungus prie interneto.

Suskaidykite didelį JavaScript kodą į mažesnes dalis (code splitting) ir įkelkite jų pagal poreikį.

Naudokite HTTP/2 ir HTTP/3 efektyvesniam daugiukryptiškumui ir antraščių suspaudimui.

Nustatykite tinkamus talpyklos antraščių (Cache-Control, Expires) serverio pusėje.

Naudokite <link rel="modulepreload"> JavaScript ES modulių išankstiniam įkėlimui.

<link rel="modulepreload" href="/dist/module.js">