Sebagian besar server web mengandalkan mekanisme standar untuk menjalankan konten dinamis. Mekanisme tersebut adalah Common Gateway Interface, atau CGI. Ini bukan sihir. Ini adalah struktur folder dan seperangkat aturan yang memberitahu server untuk berhenti memperlakukan kode seperti teks statis dan mulai memperlakukannya seperti program yang dapat dieksekusi.
Kuncinya adalah subdirektori tertentu bernama cgi-bin. Saat Anda menyiapkan server web, Anda membuat folder ini di dalam root dokumen Anda. Server dikonfigurasi untuk mengawasi direktori itu dengan cermat. File apa pun yang diminta dari cgi-bin memicu perilaku yang berbeda dari halaman HTML standar.
Alih-alih membaca file dan mengirimkan konten mentahnya ke browser Anda, server mengeksekusi file tersebut. Output yang dihasilkan oleh eksekusi tersebut adalah apa yang sebenarnya dikirimkan ke klien. Hal ini memungkinkan server untuk menjalankan kode dengan cepat, menghasilkan respons berdasarkan input pengguna, kueri database, atau logika dinamis lainnya.
Program yang disimpan dalam direktori ini biasanya berupa binari yang dikompilasi, seperti yang dihasilkan oleh kompiler C, atau skrip yang diinterpretasikan. Satu bahasa mendominasi ruang ini: PERL. Ini telah menjadi tulang punggung skrip CGI selama beberapa dekade karena menangani pemrosesan teks dan interaksi server dengan sangat mudah.
Perhatikan sebuah contoh konkrit. Anda mengetikkan URL ini ke browser Anda: https://www.howstuffworks.com/cgi-bin/search.pl.
Server melihat jalannya. Ia mengenali search.pl ada di dalam folder cgi-bin. Itu tidak mengirimkan kode sumber kepada Anda. Ini menjalankan search.pl. Skrip PERL memproses permintaan—mungkin menanyakan indeks pencarian—dan mengembalikan hasil HTML. Browser Anda menampilkan hasil itu. Kode sumber tidak pernah menyentuh layar Anda.
Ingin mencobanya sendiri? Itu mungkin, tetapi Anda memerlukan dua hal.
Pertama, Anda perlu mengetahui bahasa pemrograman yang cocok untuk CGI. C dan PERL adalah standar tradisional. Anda perlu memahami cara mengeluarkan header HTTP dan menangani input server.
Kedua, Anda memerlukan akses ke server web yang mendukung eksekusi CGI. Jika Anda menggunakan layanan web hosting berbayar, kemungkinan besar Anda sudah memiliki kemampuan ini. Sebagian besar paket hosting bersama menyertakan dukungan CGI secara default. Periksa dokumentasi penyedia hosting Anda untuk mengonfirmasi. Anda mungkin perlu mengunggah skrip Anda ke direktori cgi-bin secara khusus.
Jika Anda tidak memiliki akun hosting, Anda dapat menginstal server web di mesin rumah Anda. Ini memberi Anda kendali penuh. Anda dapat bereksperimen dengan berbagai konfigurasi dan men-debug kesalahan secara real-time. Ini lebih rumit daripada menggunakan layanan yang dihosting. Anda harus mengelola sendiri perangkat lunak server, keamanan, dan izin. Namun kurva pembelajarannya curam dan bermanfaat. Anda akan memahami dengan tepat cara kerja web.
Penyiapan ini berfungsi karena server secara eksplisit diminta untuk memercayai dan mengeksekusi kode di folder spesifik tersebut. Di luar cgi-bin, server memperlakukan file sebagai data statis. Di dalamnya, ada program. Perbedaan itulah yang memungkinkan aplikasi web dinamis.
Server menjalankan program dan mengirimkan hasilnya ke browser. Kode sumbernya tetap tersembunyi.
Apakah ini cara paling modern untuk membangun aplikasi web? Tidak. Kerangka kerja modern sering kali menggunakan arsitektur yang berbeda. Namun CGI menetapkan polanya. Hal ini membuktikan bahwa server dapat menjalankan program eksternal untuk menghasilkan konten. Setiap situs dinamis yang Anda kunjungi hari ini menelusuri silsilahnya kembali ke struktur direktori sederhana ini.
Batasan antara konten statis dan dinamis ditentukan oleh konfigurasi server. **





































