Server Side Includes (SSI) menyediakan direktif <!--#echo var="VARIABLE_NAME" --> untuk menyisipkan nilai environment variables dan variabel internal server ke dalam dokumen web secara dinamis. Fitur ini umumnya digunakan pada server web Apache dan NGINX (dengan modul tambahan) untuk menampilkan informasi waktu, nama file, hingga parameter permintaan HTTP tanpa perlu mengeksekusi bahasa pemrograman berat seperti PHP atau Python.
Untuk menggunakan variabel ini, pastikan server web Anda telah mengaktifkan parsing SSI (misalnya pada Apache dengan direktif AddType text/html .shtml dan AddOutputFilter INCLUDES .shtml). File dokumen biasanya harus memiliki ekstensi .shtml agar server memproses direktif SSI di dalamnya.
Daftar Environment Variables SSI yang Sering Digunakan
Berikut adalah tabel referensi variabel standar yang didukung oleh server web untuk perintah echo pada SSI:
| Nama Variabel | Deskripsi / Fungsi | Contoh Nilai Output |
|---|---|---|
DATE_LOCAL |
Menampilkan tanggal dan waktu lokal saat ini berdasarkan zona waktu server. | Wed Mar 25 14:30:00 2026 |
DATE_GMT |
Menampilkan tanggal dan waktu saat ini berdasarkan waktu Greenwich Mean Time (GMT). | Wed, 25 Mar 2026 07:30:00 GMT |
DOCUMENT_NAME |
Menampilkan nama file dari dokumen yang sedang diakses. | index.shtml |
DOCUMENT_URI |
Menampilkan path URI virtual dari dokumen saat ini relatif terhadap root web. | /dir/index.shtml |
LAST_MODIFIED |
Menampilkan waktu terakhir kali file dokumen dimodifikasi. | Tue, 24 Mar 2026 10:15:00 GMT |
QUERY_STRING |
Menampilkan parameter query URL yang dikirimkan melalui metode GET. | user=123&status=active |
REMOTE_ADDR |
Menampilkan alamat IP dari klien/pengunjung yang mengakses halaman. | 192.0.2.1 |
REQUEST_METHOD |
Menampilkan metode HTTP yang digunakan oleh klien untuk membuat permintaan. | GET / POST |
SERVER_SOFTWARE |
Menampilkan informasi nama dan versi perangkat lunak server web yang digunakan. | Apache/2.4.58 (Ubuntu) |
Contoh Implementasi Kode SSI Echo
Penerapan direktif echo dalam dokumen HTML (dengan ekstensi .shtml) sangat sederhana. Berikut adalah contoh blok kode untuk menampilkan informasi waktu lokal dan alamat IP pengunjung:
<!DOCTYPE html>
<html lang="id">
<head>
<meta charset="UTF-8">
<title>Contoh SSI Echo< /title>
</head>
<body>
<h1>Informasi Sesi Server</h1>
<p>Waktu Server Saat Ini: <!--#echo var="DATE_LOCAL" --></p>
<p>Alamat IP Anda: <!--#echo var="REMOTE_ADDR" --></p>
<p>Halaman Diakses: <!--#echo var="DOCUMENT_URI" --></p>
</body>
</html>
Konfigurasi Tambahan untuk Environment Variables Kustom
Jika Anda ingin menampilkan environment variables kustom (variabel sistem operasi atau variabel yang didefinisikan dalam konfigurasi server web), server Apache memerlukan direktif tambahan menggunakan modul mod_include dan mod_env.
- Definisikan Variabel: Tambahkan variabel pada file konfigurasi virtual host Apache menggunakan direktif
SetEnv:SetEnv CUSTOM_APP_ENV production - Izinkan Variabel di-Echo: Secara default, tidak semua environment variables diekspos ke SSI demi keamanan. Anda harus memastikan variabel tersebut terbaca atau menggunakan modul yang mendukung.
- Panggil dalam File SHTML: Gunakan sintaks standar echo:
<!--#echo var="CUSTOM_APP_ENV" -->
Troubleshooting Masalah SSI Echo
Jika variabel SSI tidak muncul atau hanya menampilkan teks mentah (seperti (none) atau tag HTML apa adanya), periksa beberapa hal berikut:
- Ekstensi File: Pastikan file menggunakan ekstensi
.shtml. Server biasanya mengabaikan parsing SSI pada file berformat standar.htmlatau.htmkecuali dikonfigurasi secara khusus di file.htaccess. - Konfigurasi Server: Pada Apache, pastikan opsi
Includesaktif pada direktori terkait (contoh:Options +Includes). - Pemberian Nilai Kosong: Variabel seperti
QUERY_STRINGakan bernilai kosong jika halaman diakses tanpa parameter URL apa pun. Hal ini normal dan bukan merupakan error pada server.