Apa Itu Server Side Includes (SSI)?
Server Side Includes (SSI) adalah mekanisme sederhana pada sisi server yang memungkinkan pengembang untuk menyisipkan konten dari satu file ke file lainnya sebelum halaman dikirim ke browser pengguna. SSI sangat berguna untuk mengelola elemen berulang seperti header, footer, atau menu navigasi tanpa harus melakukan copy-paste kode di setiap halaman HTML.
Sintaks Dasar SSI
Perintah SSI ditulis dalam komentar HTML agar tidak merusak tampilan jika server tidak mendukungnya. Format dasarnya adalah <!--#directive parameter="value" -->. Berikut adalah contoh implementasi untuk menyisipkan file footer:
<!--#include virtual="/includes/footer.html" -->Tabel Perintah Umum SSI
| Direktif | Fungsi | Contoh |
|---|---|---|
| include | Menyisipkan file lain | <!--#include virtual="file.html" --> |
| echo | Menampilkan variabel server | <!--#echo var="DATE_LOCAL" --> |
| flastmod | Menampilkan tanggal modifikasi | <!--#flastmod file="index.html" --> |
| config | Mengatur format output | <!--#config timefmt="%Y" --> |
Langkah Implementasi
- Pastikan Dukungan Server: SSI biasanya didukung oleh Apache melalui modul
mod_include. Pastikan server Anda telah mengaktifkan modul ini. - Konfigurasi File: Pada file
.htaccess, tambahkan baris berikut agar server memproses file .html sebagai SSI:AddType text/html .html AddOutputFilter INCLUDES .html - Buat File Konten: Simpan bagian yang ingin diulang (misalnya
header.html) di direktori yang dapat diakses server. - Panggil File: Gunakan perintah
#includedi dalam file utama Anda.
Kelebihan dan Kekurangan
SSI menawarkan efisiensi tinggi untuk situs web statis skala kecil hingga menengah. Namun, untuk aplikasi web modern yang sangat kompleks, penggunaan framework sisi server seperti PHP atau Node.js seringkali lebih disarankan karena fleksibilitas logika yang lebih luas.
Kelebihan
- Ringan dan tidak membebani server seperti bahasa pemrograman berat.
- Memudahkan pemeliharaan situs web statis.
- Tidak memerlukan database untuk elemen sederhana.
Kekurangan
- Keamanan: Jika tidak dikonfigurasi dengan benar, dapat menjadi celah injeksi.
- Terbatas pada fungsi-fungsi dasar server.
- Membutuhkan akses konfigurasi server (seperti Apache).