Pra-fetching, Pra-loading, dan Pra-connecting: Kapan Menggunakannya untuk Website Super Cepat?

Pre-fetching, Pre-loading, dan Pre-connecting: Kapan menggunakannya?

Pra-fetching, Pra-loading, dan Pra-connecting: Kapan Menggunakannya untuk Website Super Cepat?

Pernahkah Anda merasa frustrasi saat menunggu sebuah halaman web termuat? Di era digital serba cepat ini, kecepatan website menjadi krusial. Bukan hanya soal kenyamanan pengguna, tetapi juga berpengaruh signifikan terhadap peringkat SEO dan konversi bisnis. Untuk itu, para pengembang web terus mencari cara untuk meningkatkan performa website, dan salah satu teknik yang populer adalah dengan memanfaatkan pra-fetching, pra-loading, dan pra-connecting. Ketiganya adalah teknik optimasi performa yang bertujuan untuk mempercepat proses muat halaman web, namun masing-masing memiliki fungsi dan skenario penggunaan yang berbeda. Artikel ini akan mengupas tuntas ketiga teknik ini, menjelaskan kapan dan bagaimana cara menggunakannya secara efektif untuk website yang super cepat.

Apa itu Pra-fetching, Pra-loading, dan Pra-connecting?


Apa itu Pra-fetching, Pra-loading, dan Pra-connecting?

Sebelum membahas kapan menggunakan masing-masing teknik, mari kita pahami dulu definisi dan cara kerja dasarnya:

1. Pra-fetching (Prefetching):

Pra-fetching adalah teknik untuk mengambil (fetch) sumber daya (resources) yang mungkin dibutuhkan di halaman selanjutnya, sebelum pengguna benar-benar mengklik link atau tombol tersebut. Bayangkan seperti seorang pelayan yang sudah menyiapkan minuman kesukaan Anda sebelum Anda memesannya. Tujuannya adalah untuk mengurangi latensi saat pengguna akhirnya membutuhkan sumber daya tersebut, karena sumber daya tersebut sudah tersimpan di cache browser.

Cara Kerja Pra-fetching:

  1. Browser menganalisis halaman web dan mencari tautan (links) yang mengarah ke halaman atau sumber daya lain.
  2. Berdasarkan analisis, browser memprediksi halaman atau sumber daya mana yang kemungkinan besar akan diakses oleh pengguna selanjutnya.
  3. Browser secara otomatis mengunduh sumber daya yang diprediksi tersebut ke cache.
  4. Jika pengguna kemudian mengklik tautan yang telah di-prefetch, browser akan langsung memuat sumber daya dari cache, sehingga proses pemuatan halaman akan terasa lebih cepat.

2. Pra-loading (Preloading):

Pra-loading adalah teknik untuk memberitahu browser untuk mulai mengunduh sumber daya penting yang akan dibutuhkan oleh halaman saat ini, sesegera mungkin. Berbeda dengan pra-fetching yang bersifat prediktif, pra-loading bersifat lebih definitif. Anda secara eksplisit memberitahu browser sumber daya mana yang harus diprioritaskan.

Cara Kerja Pra-loading:

  1. Pengembang web menentukan sumber daya mana yang kritis untuk rendering halaman (misalnya, font web, gambar latar, atau script penting).
  2. Pengembang menambahkan tag <link rel="preload"> ke dalam HTML untuk memberitahu browser tentang sumber daya tersebut.
  3. Browser segera memulai proses pengunduhan sumber daya yang di-preload.
  4. Saat browser membutuhkan sumber daya tersebut untuk rendering halaman, sumber daya tersebut sudah tersedia di cache, sehingga halaman dapat ditampilkan lebih cepat.

3. Pra-connecting (Preconnecting):

Pra-connecting adalah teknik untuk membangun koneksi ke server sebelum sumber daya dari server tersebut benar-benar dibutuhkan. Ini mencakup proses DNS lookup, handshake TCP, dan negosiasi TLS. Dengan membangun koneksi lebih awal, Anda dapat menghilangkan latensi yang terkait dengan proses koneksi saat sumber daya akhirnya dibutuhkan.

Cara Kerja Pra-connecting:

  1. Pengembang web mengidentifikasi domain yang akan digunakan untuk memuat sumber daya, seperti CDN (Content Delivery Network) atau API eksternal.
  2. Pengembang menambahkan tag <link rel="preconnect"> atau <link rel="dns-prefetch"> ke dalam HTML untuk memberitahu browser tentang domain tersebut.
  3. Browser memulai proses koneksi ke domain tersebut, termasuk DNS lookup, handshake TCP, dan negosiasi TLS.
  4. Saat browser membutuhkan sumber daya dari domain tersebut, koneksi sudah terjalin, sehingga proses pemuatan sumber daya akan lebih cepat.

Kapan Menggunakan Pra-fetching?


Kapan Menggunakan Pra-fetching?

Pra-fetching sangat berguna dalam beberapa skenario berikut:

  1. Website dengan navigasi linear: Jika website Anda memiliki struktur navigasi yang jelas, seperti blog dengan artikel yang berurutan atau galeri gambar, Anda dapat melakukan pra-fetching pada halaman atau sumber daya yang mungkin akan diakses pengguna selanjutnya. Misalnya, jika pengguna sedang membaca artikel pertama di blog Anda, Anda dapat melakukan pra-fetching pada artikel kedua.
  2. Landing page dengan call-to-action (CTA): Jika landing page Anda memiliki CTA yang mengarah ke halaman lain, Anda dapat melakukan pra-fetching pada halaman tersebut untuk memastikan pengguna tidak menunggu lama saat mengklik CTA.
  3. Website dengan banyak gambar: Jika website Anda memiliki banyak gambar, Anda dapat melakukan pra-fetching pada gambar-gambar yang mungkin akan dilihat pengguna selanjutnya. Ini sangat berguna untuk galeri gambar atau website e-commerce dengan banyak produk.
  4. Mengurangi Waktu Muat Halaman pada Klik: Bayangkan tombol "Selanjutnya" pada galeri foto. Dengan pra-fetching gambar berikutnya, waktu yang dibutuhkan untuk menampilkan gambar tersebut saat tombol diklik akan sangat berkurang, memberikan pengalaman pengguna yang lebih mulus.

Contoh Penggunaan Pra-fetching:

Untuk melakukan pra-fetching, Anda dapat menggunakan tag <link rel="prefetch" href="URL_SUMBER_DAYA"> di dalam bagian <head> HTML Anda.

Contoh:

<link rel="prefetch" href="/artikel-selanjutnya.html">

Perhatian: Gunakan pra-fetching dengan bijak. Jangan melakukan pra-fetching pada terlalu banyak sumber daya, karena dapat menghabiskan bandwidth pengguna dan memperlambat pemuatan halaman saat ini. Pertimbangkan juga penggunaan lazy loading untuk gambar yang berada di luar tampilan awal.

Kapan Menggunakan Pra-loading?


Kapan Menggunakan Pra-loading?

Pra-loading sangat ideal untuk sumber daya yang kritis untuk rendering halaman dan harus dimuat sesegera mungkin. Beberapa skenario penggunaan yang tepat adalah:

  1. Font web: Font web seringkali menjadi bottleneck dalam proses rendering halaman. Dengan melakukan pra-loading pada font web, Anda dapat menghindari "flash of invisible text" (FOIT) atau "flash of unstyled text" (FOUT) dan memastikan teks ditampilkan dengan font yang benar sesegera mungkin.
  2. Gambar latar (background images): Jika Anda menggunakan gambar latar yang penting untuk tampilan halaman, lakukan pra-loading untuk memastikan gambar tersebut tersedia saat halaman dirender.
  3. Script penting (critical scripts): Jika Anda memiliki script yang diperlukan untuk fungsionalitas inti halaman, lakukan pra-loading untuk memastikan script tersebut dimuat sesegera mungkin.
  4. Video atau audio yang diputar otomatis: Jika halaman Anda berisi video atau audio yang diputar secara otomatis, lakukan pra-loading untuk mengurangi waktu buffering dan memastikan media tersebut dapat diputar tanpa gangguan.

Contoh Penggunaan Pra-loading:

Untuk melakukan pra-loading, Anda dapat menggunakan tag <link rel="preload" as="TYPE_SUMBER_DAYA" href="URL_SUMBER_DAYA"> di dalam bagian <head> HTML Anda.

Contoh:

<link rel="preload" href="/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin>

<link rel="preload" href="/images/background.jpg" as="image">

Catatan Penting tentang Pra-loading:

  1. Atribut "as": Atribut "as" sangat penting untuk pra-loading. Atribut ini memberitahu browser jenis sumber daya yang sedang di-preload (misalnya, "font", "image", "script", "style"). Tanpa atribut "as", browser mungkin tidak dapat memprioritaskan pengunduhan sumber daya dengan benar.
  2. Atribut "type": Untuk font, sertakan atribut `type` untuk membantu browser memilih format font yang tepat.
  3. Atribut "crossorigin": Jika Anda melakukan pra-loading sumber daya dari domain yang berbeda, Anda mungkin perlu menambahkan atribut crossorigin.

Kapan Menggunakan Pra-connecting?


Kapan Menggunakan Pra-connecting?

Pra-connecting sangat berguna saat Anda memuat sumber daya dari domain yang berbeda. Beberapa skenario ideal termasuk:

  1. CDN (Content Delivery Network): Jika Anda menggunakan CDN untuk menghosting gambar, skrip, atau style sheet, lakukan pra-connecting ke domain CDN untuk mengurangi latensi koneksi.
  2. API eksternal: Jika Anda menggunakan API eksternal untuk memuat data atau melakukan fungsi tertentu, lakukan pra-connecting ke domain API untuk mempercepat proses pemanggilan API.
  3. Domain pihak ketiga: Jika Anda menggunakan font web dari Google Fonts atau library JavaScript dari CDNJS, lakukan pra-connecting ke domain tersebut untuk mengurangi waktu yang dibutuhkan untuk memuat sumber daya dari domain pihak ketiga.
  4. Tracking scripts atau analytics: Jika Anda menggunakan skrip pelacakan atau analitik, pra-koneksi ke domain mereka dapat membantu meminimalkan dampak kinerja mereka.

Contoh Penggunaan Pra-connecting:

Untuk melakukan pra-connecting, Anda dapat menggunakan tag <link rel="preconnect" href="URL_DOMAIN"> atau <link rel="dns-prefetch" href="URL_DOMAIN"> di dalam bagian <head> HTML Anda.

Contoh:

<link rel="preconnect" href="https://cdn.example.com">

<link rel="dns-prefetch" href="https://fonts.googleapis.com">

Perbedaan Preconnect dan DNS-Prefetch:

  • Preconnect: Melakukan DNS lookup, handshake TCP, dan negosiasi TLS. Lebih komprehensif dan memberikan peningkatan kinerja yang lebih signifikan.
  • DNS-Prefetch: Hanya melakukan DNS lookup. Lebih ringan dan cocok untuk domain yang mungkin akan digunakan, tetapi tidak sepenting yang di-preconnect.

Kapan menggunakan Preconnect vs DNS-Prefetch?

Gunakan preconnect untuk domain yang pasti akan Anda gunakan. Gunakan dns-prefetch untuk domain yang mungkin akan Anda gunakan.

Bagaimana Cara Mengukur Efektivitas Pra-fetching, Pra-loading, dan Pra-connecting?


Bagaimana Cara Mengukur Efektivitas Pra-fetching, Pra-loading, dan Pra-connecting?

Setelah menerapkan teknik pra-fetching, pra-loading, dan pra-connecting, penting untuk mengukur efektivitasnya untuk memastikan bahwa teknik tersebut benar-benar meningkatkan performa website Anda. Anda dapat menggunakan berbagai alat dan teknik untuk mengukur efektivitasnya:

  1. Google PageSpeed Insights: Google PageSpeed Insights memberikan skor performa website dan memberikan saran optimasi, termasuk saran terkait pra-fetching, pra-loading, dan pra-connecting.
  2. WebPageTest: WebPageTest adalah alat yang lebih canggih untuk menguji performa website. Alat ini memungkinkan Anda untuk menjalankan berbagai tes dan melihat waterfall chart yang menunjukkan bagaimana sumber daya dimuat.
  3. Chrome DevTools: Chrome DevTools memiliki panel "Network" yang memungkinkan Anda untuk melihat bagaimana sumber daya dimuat dan mengidentifikasi bottleneck.
  4. Core Web Vitals: Perhatikan metrik Core Web Vitals (Largest Contentful Paint, First Input Delay, Cumulative Layout Shift) untuk melihat bagaimana teknik optimasi Anda memengaruhi pengalaman pengguna.

Kesimpulan

Pra-fetching, pra-loading, dan pra-connecting adalah teknik optimasi performa yang powerful yang dapat membantu Anda mempercepat website Anda secara signifikan. Dengan memahami kapan dan bagaimana cara menggunakan masing-masing teknik secara efektif, Anda dapat memberikan pengalaman pengguna yang lebih baik, meningkatkan peringkat SEO, dan meningkatkan konversi bisnis. Ingatlah untuk selalu mengukur efektivitas teknik optimasi Anda dan melakukan penyesuaian sesuai kebutuhan.

Dengan menerapkan teknik-teknik ini dengan bijak dan menggabungkannya dengan praktik optimasi lainnya, seperti kompresi gambar, minifikasi kode, dan caching yang efektif, Anda dapat membangun website yang super cepat dan responsif, yang pada akhirnya akan memberikan keuntungan besar bagi bisnis Anda.

Posting Komentar untuk "Pra-fetching, Pra-loading, dan Pra-connecting: Kapan Menggunakannya untuk Website Super Cepat?"