Memahami Arsitektur Astro SSR: On-Demand Rendering vs Static Generation
Eksplorasi mendalam bagaimana Astro mengubah paradigma web development dengan perpaduan Islands Architecture dan Server-Side Rendering tanpa overhead SPA.
Astro secara tradisional dikenal sebagai generator situs statis (SSG) tercepat berkat konsep inovatif **Islands Architecture**. Namun, saat aplikasi membutuhkan data real-time, autentikasi sesi pengguna, atau konten dinamis yang berubah setiap detik, **Server-Side Rendering (SSR)** menjadi solusi terbaik.
Mengapa Memilih Astro SSR?
- **Zero JavaScript by Default:** Meskipun di-render di server pada setiap request (`on-demand`), Astro tetap hanya mengirim HTML murni ke browser kecuali kita sengaja menambahkan hydration directive seperti `client:load` atau `client:visible`.
- **Kueri Langsung ke Database:** Pada mode SSR, kode di frontmatter komponen `.astro` dieksekusi secara aman di server Node.js. Anda bisa langsung memanggil database (Postgres, SQLite), membaca file sistem, atau membaca session cookie tanpa mengekspos credential ke browser.
- **Request Context:** Anda mendapatkan akses penuh ke objek `Astro.request`, `Astro.cookies`, `Astro.params`, dan `Astro.url.searchParams` untuk setiap request yang masuk.
// Contoh akses request di frontmatter Astro SSR
const userAgent = Astro.request.headers.get('user-agent');
const searchQuery = Astro.url.searchParams.get('q');
const authCookie = Astro.cookies.get('session_id');Dengan arsitektur ini, kita mendapatkan kecepatan muat awal yang instan, SEO sempurna, sekaligus fleksibilitas data dinamis tingkat tinggi.
Inspeksi Render Detail Post (Server-Side)
Komentar Pembaca2
Penjelasan yang sangat padat! Sangat membantu memahami kapan harus beralih dari SSG ke SSR di Astro.
Apakah adapter Node.js ini aman untuk production traffic tinggi?