Apa itu SHTML? Pengertian dan Cara Kerja Server Side Includes

SHTML adalah ekstensi file untuk dokumen HTML yang memanfaatkan teknologi Server Side Includes (SSI). Tidak seperti file HTML biasa berformat .html atau .htm yang dikirimkan oleh server web apa adanya ke peramban pengguna, file SHTML diproses terlebih dahulu oleh server web sebelum dikirimkan. Proses ini memungkinkan pengembang web untuk menyisipkan konten dari file lain, menampilkan tanggal modifikasi, atau menjalankan skrip sederhana secara langsung di dalam halaman web tanpa harus menggunakan bahasa pemrograman sisi server yang kompleks seperti PHP atau ASP.

Koreksi penting bagi pengguna: SHTML bukanlah sebuah "bahasa pemrograman" mandiri seperti Python, JavaScript, atau PHP. SHTML adalah format file yang menggunakan instruksi SSI (Server Side Includes)—sebuah mekanisme direktif sisi server yang sangat ringan. Apache, Nginx, dan Internet Information Services (IIS) adalah contoh web server yang mendukung pemrosesan direktif SSI ini.

Cara Kerja dan Sintaks Dasar SHTML

Ketika peramban meminta halaman berformat SHTML, server web akan memindai isi file tersebut untuk mencari arahan (directive) SSI yang biasanya ditulis di dalam komentar HTML khusus. Setelah server menemukan arahan tersebut, server akan mengeksekusinya, menyisipkan hasil eksekusi ke dalam dokumen, lalu mengirimkan hasilnya ke peramban klien.

Berikut adalah contoh kode penggunaan SSI untuk menyertakan file navigasi (menu) dan footer ke dalam halaman utama SHTML:

<!--#include virtual="/header.html" -->
<main>
    <h1>Selamat Datang di Situs Kami<l/h1>
    <p>Halaman ini menggunakan format SHTML dengan SSI.</p>
    <p>Terakhir diperbarui: <!--#flastmod file="index.shtml" --></p>
</main>
<!--#include virtual="/footer.html" -->

Tabel Perbandingan SHTML vs HTML vs PHP

Untuk memahami posisi SHTML di antara teknologi web lainnya, perhatikan matriks perbandingan berikut:

Parameter HTML SHTML (SSI) PHP
Jenis Bahasa Markup Statis Markup + Direktif Server Bahasa Pemrograman Server
Kompleksitas Sangat Rendah Rendah Menengah ke Tinggi
Dukungan Database Tidak Ada Tidak Ada (Hanya File Lokal) Sangat Luas (MySQL, PostgreSQL, dll)
Beban Server Sangat Ringan Ringan Sedang hingga Berat
Kasus Penggunaan Halaman statis sederhana Header/Footer berulang tanpa PHP Website dinamis, CMS, e-commerce

Direktif Populer dalam Server Side Includes (SSI)

Beberapa perintah atau direktif yang paling sering digunakan dalam file SHTML meliputi:

  • #include: Menyisipkan konten dari file eksternal (seperti header, footer, atau sidebar) ke dalam dokumen.
  • #echo: Menampilkan variabel lingkungan server, seperti alamat IP pengunjung atau nama file saat ini.
  • #flastmod: Menampilkan tanggal dan waktu terakhir file tersebut dimodifikasi.
  • #fsize: Menampilkan ukuran file tertentu.
  • #config: Mengatur format tanggal atau pesan error yang ditampilkan oleh SSI.

Kelebihan dan Kekurangan Penggunaan SHTML

Meskipun jarang digunakan untuk situs web modern berbasis CMS (seperti WordPress), SHTML masih memiliki tempat tersendiri karena kesederhanaannya.

Kelebihan:

  • Efisiensi Pemeliharaan: Memungkinkan pengembang memperbarui bagian berulang (seperti menu navigasi) hanya dengan mengubah satu file sumber saja.
  • Performa Tinggi: Eksekusi server jauh lebih cepat dibandingkan memproses skrip PHP yang berat untuk tugas-tugas penyertaan file sederhana.
  • Keamanan: Minim celah keamanan karena tidak mengeksekusi logika pemrograman yang kompleks atau koneksi database eksternal.

Kekurangan:

  • Fungsionalitas Terbatas: Tidak mendukung logika kondisional lanjutan (if-else yang kompleks), perulangan (loops), atau interaksi database secara langsung.
  • Konfigurasi Server: Membutuhkan konfigurasi khusus pada web server (seperti Apache mod_include) agar file berekstensi .shtml diproses oleh modul SSI.