Sobes.tech
Middle

Jak możemy pomóc przeglądarce przygotować się do ładowania zasobów?

sobes.tech AI

Odpowiedź od AI

Użyj dyrektyw preload: preconnect, dns-prefetch, preload, prefetch, prerender.

Dyrektywa Opis Przykład
preconnect Ustanawia połączenie (wyszukiwanie DNS, handshake TCP, negocjacja TLS) z innym źródłem danych z wyprzedzeniem. <link rel="preconnect" href="https://cdn.example.com">
dns-prefetch Wykonuje rozwiązywanie nazwy domeny z wyprzedzeniem. <link rel="dns-prefetch" href="//api.example.com">
preload Wstępnie żąda zasobów (JS, CSS, fontów) z wysokim priorytetem, nie blokując renderowania. <link rel="preload" href="/styles.css" as="style">
prefetch Żąda zasobów, które prawdopodobnie będą potrzebne w przyszłości (np. na następnej stronie). <link rel="prefetch" href="/next_page.html">
prerender Renderuje następną stronę w ukrytej zakładce z wyprzedzeniem. <link rel="prerender" href="/upcoming_page.html">

Użyj atrybutu async lub defer w tagu <script>, aby ładować i wykonywać skrypty asynchronicznie, nie blokując parsowania HTML:

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

Użyj atrybutu loading="lazy" dla obrazów i <iframe>, aby opóźnić ich ładowanie, gdy znajdą się w obszarze widoku:

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

Optymalizuj obrazy (kompresja, używanie nowoczesnych formatów jak WebP), fonty (podzbiory, formaty WOFF/WOFF2) i inne zasoby.

Minifikuj i kompresuj CSS, JavaScript i HTML.

Użyj Service Worker do cache'owania zasobów i zapewnienia dostępu offline.

Dziel duży kod JavaScript na mniejsze części (code splitting) i ładuj je na żądanie.

Użyj HTTP/2 i HTTP/3 dla bardziej efektywnego multiplexingu i kompresji nagłówków.

Ustaw odpowiednie nagłówki cache (Cache-Control, Expires) na serwerze.

Użyj <link rel="modulepreload"> do preloadowania modułów JavaScript ES.

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