PulseBlog
Kembali ke Daftar ArtikelSSR Route: /blog/understanding-astro-ssr-architecture
Architecture

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.

Rian Wicaksono
Rian Wicaksono
Principal Web Architect
164 Views
Memahami Arsitektur Astro SSR: On-Demand Rendering vs Static Generation

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)

Menunggu Hydration...
SSR On-Demand⚡ 1.84 ms
Server Render Time:7:57:11 PM (360ms)
Request Path:GET /blog/understanding-astro-ssr-architecture
Client Address:127.0.0.1
Node.js Runtime:v20.20.2 (Standalone)
User-Agent: Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

Komentar Pembaca2

SSR Rendered + Client Hydrated
Preview Avatar
Tekan Kirim untuk mempublikasikan komentar secara instan.0/600
Budi Santoso
Budi Santoso15/09/26, 17.15

Penjelasan yang sangat padat! Sangat membantu memahami kapan harus beralih dari SSG ke SSR di Astro.

Siti Nurhaliza
Siti Nurhaliza15/09/26, 21.40

Apakah adapter Node.js ini aman untuk production traffic tinggi?