Digital Transformation

Middleware

Vito Atmo
Vito Atmo·25 Mei 2026·0 kali dibaca·2 min baca

TL;DR: Middleware adalah lapisan kode yang berjalan sebelum permintaan mencapai halaman final, dipakai untuk autentikasi, redirect, A/B testing, geolocation, atau menambah header keamanan. Di Next.js 15, middleware berjalan di Edge Runtime sehingga eksekusinya hitungan milidetik dan tidak membebani server origin.

Apa itu Middleware?

Middleware adalah perantara antara permintaan masuk dan respons keluar. Setiap kali pengunjung membuka URL, middleware dijalankan dulu sebelum framework memutuskan halaman mana yang akan ditampilkan. Di sini, kode bisa membaca cookie, memeriksa token, mengubah URL, atau menulis header baru.

Analoginya seperti petugas di pintu masuk gedung. Sebelum tamu masuk ruangan, mereka diperiksa, dicatat, atau diarahkan ke lantai lain. Penggunaan edge runtime membuat lapisan ini cepat karena tidak harus pergi ke server pusat.

Kasus Pakai Umum

SkenarioImplementasi Middleware
Proteksi route adminCek cookie session, redirect ke /login jika kosong
A/B testingSet cookie variant, rewrite ke versi A atau B
Geolocation routingBaca header geo, redirect ke /id atau /en
Rate limitingHitung permintaan per IP, kirim 429 jika lewat batas
Header keamananTambah CSP, HSTS, X-Frame-Options dinamis
Bot protectionBlock bot dari User-Agent atau IP block

Kode middleware harus ringan (di bawah 1 MB di Edge), jadi hindari library berat di sini.

Kenapa Penting bagi Marketer dan Developer?

Marketer sering minta fitur kompleks seperti redirect kampanye, region-specific landing page, atau gate konten premium. Tanpa middleware, semua ini harus ditambah di setiap halaman secara duplikatif. Dengan middleware, satu file mengatur logika global tanpa mengubah halaman individual.

Dokumentasi resmi Next.js Middleware menjelaskan API matcher dan runtime constraints yang harus diikuti.

Pertanyaan Umum

Apakah middleware Next.js sama dengan API route?

Tidak. API route adalah endpoint yang melayani permintaan tertentu (misal POST /api/login). Middleware berjalan otomatis di setiap permintaan halaman atau aset, sebelum API atau halaman dijalankan.

Bisakah middleware mengakses database?

Bisa, tapi tidak disarankan untuk koneksi database tradisional karena Edge Runtime tidak mendukung driver Node.js seperti pg atau mysql2. Gunakan database HTTP-based seperti Supabase REST API, Upstash, atau Turso.

Bagikan