preload, prefetch, preconnect ve dns-prefetch resource hint'leri arasındaki fark nedir?

Cevap

Resource hint'ler tarayıcıya gelecekte ihtiyaç duyulacak kaynakları önceden bildirir. Fark, kaynağın ne zaman ve hangi öncelikle kullanılacağıdır.

HintNe yapar?Ne zaman?
preloadMevcut sayfa için kritik bir kaynağı hemen, yüksek öncelikle indirirGeç keşfedilen kritik font, LCP görseli
prefetchSonraki navigasyon için kaynağı boşta kalınca düşük öncelikle indirirKullanıcının muhtemelen gideceği sayfanın JS'i
preconnectBir origin'e DNS + TCP + TLS bağlantısını önceden kurarKesin kullanılacak üçüncü parti origin (CDN, font sunucusu)
dns-prefetchSadece DNS çözümlemesi yaparBelki kullanılacak çok sayıda origin
modulepreloadES module'ü ve bağımlılıklarını önceden indirip parse ederKritik JS modülleri
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link rel="preload" href="/fonts/inter.woff2" as="font" type="font/woff2" crossorigin />
<link rel="preload" href="/hero.avif" as="image" fetchpriority="high" />
<link rel="prefetch" href="/checkout.js" />

Dikkat edilecekler

  • preload ile font yüklerken crossorigin unutulursa font iki kez indirilir.
  • Çok fazla preload her şeyi kritik yapar, yani hiçbir şeyi; bant genişliği gerçekten kritik kaynaklardan çalınır. Kullanılmayan preload için Chrome konsolda uyarı verir.
  • preconnect'i 2-3 origin ile sınırlayın; açık bağlantılar kaynak tüketir.
  • Navigasyonları neredeyse anlık yapmak için Chromium'da Speculation Rules API (<script type="speculationrules">) ile prefetch/prerender yapılabilir.
  • fetchpriority="high"/"low" ile tek tek kaynakların önceliği de ayarlanabilir.
  1. Bundle boyutunu nasıl analiz eder ve küçültürsünüz?OrtaWeb PerformansıFrontend
  2. Çok uzun bir listeyi (on binlerce satır) performanslı nasıl gösterirsiniz?ZorWeb PerformansıFrontend
  3. Bir web sayfasının yükleme performansını nasıl iyileştirirsiniz?OrtaWeb PerformansıFrontend
  4. Core Web Vitals nedir? LCP, INP ve CLS neyi ölçer?OrtaWeb PerformansıFrontend
  5. Vite ile webpack arasındaki temel fark nedir? Tree shaking nasıl çalışır, neden bazen çalışmaz?OrtaWeb PerformansıFrontend
  6. INP değeriniz kötü. Yavaş etkileşimleri nasıl bulur ve düzeltirsiniz?ZorWeb PerformansıFrontend

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle