Common Gateway Interface (CGI) merupakan protokol standar yang memungkinkan peladen web (web server) menjalankan program atau skrip luar untuk menghasilkan halaman web dinamis. Walaupun banyak teknologi modern telah menggantikan metode tradisional ini, CGI dapat direalisasikan dengan menggunakan berbagai bahasa pemrograman, mulai dari C, Perl, Ruby, Python, PHP, Tcl/Tk, hingga skrip shell pada sistem operasi berbasis Unix.
Bahasa Pemrograman untuk Skrip CGI
Fleksibilitas CGI membuat pengembang tidak terbatas pada satu bahasa tertentu saja. Pemilihan bahasa bergantung pada kompleksitas aplikasi, performa yang dibutuhkan, serta preferensi pengembang. Berdasarkan dokumentasi dan standar arsitektur peladen seperti Internet Information Services (IIS) maupun peladen web berbasis Apache/Nginx, dukungan terhadap eksekusi modul atau skrip eksternal telah tersedia sejak lama.
| Bahasa Pemrograman | Kategori | Karakteristik Utama dalam CGI |
|---|---|---|
| Python | Bahasa Skrip Interpreted | Memiliki pustaka bawaan seperti cgi dan cgitb untuk menangani permintaan HTTP (meskipun pustaka ini telah usang di versi Python modern, konsep dasarnya tetap sama). |
| Perl | Bahasa Skrip Interpreted | Sangat populer pada awal era web untuk pengolahan teks dan form HTML melalui CGI. |
| C / C++ | Bahasa Kompilasi | Menawarkan eksekusi yang sangat cepat dan efisiensi memori tinggi untuk tugas berat di sisi server. |
| PHP | Bahasa Pemrograman Web | Secara historis dapat berjalan sebagai modul CGI atau FastCGI untuk memproses halaman web dinamis. |
| Ruby | Bahasa Skrip Berorientasi Objek | Digunakan melalui pustaka bawaan untuk menangani input/output standar pada lingkungan web server. |
Implementasi Dasar Skrip Python untuk CGI
Secara mendasar, cara kerja skrip CGI berbasis Python adalah membaca data dari input standar (stdin), memprosesnya, lalu mencetak header HTTP diikuti oleh konten HTML ke output standar (stdout). Berikut adalah contoh struktur dasar penulisan skrip tersebut:
#!/usr/bin/env python
print("Content-Type: text/html; charset=utf-8")
print()
print("<html>")
print("<head><title>Contoh Skrip CGI Python</title></head>")
print("<body>")
print("<h1>Halo dari Skrip CGI Python!</h1>")
print("</body>")
print("</html>")
Konfigurasi Peladen Web
Agar skrip CGI dapat dieksekusi dengan benar oleh peladen web, administrator harus memastikan beberapa hal teknis terpenuhi:
- Izin Eksekusi: Berkas skrip harus memiliki izin eksekusi (pada sistem Linux/Unix menggunakan perintah
chmod +x nama_berkas.py). - Direktori Khusus: Sebagian besar peladen web mengharuskan berkas CGI diletakkan di dalam direktori khusus seperti
/cgi-bin/. - Shebang Line: Baris pertama skrip (
#!/usr/bin/env python) harus mengarah secara akurat ke lokasi interpreter Python di sistem.
Meskipun arsitektur modern saat ini beralih ke WSGI (Web Server Gateway Interface) atau kerangka kerja aplikasi mandiri untuk Python, memahami dasar kerja CGI memberikan wawasan mendalam mengenai bagaimana komunikasi antara peramban web dan peladen berjalan di tingkat sistem operasi.