CGI (Common Gateway Interface)



CGI adalah singkatan  dari Common Gateway Interface, adalah cara sebuah webpage dapat memanggil
atau menjalankan aplikasi pada server tempat ia berada dan menampilkan hasil
dari program tersebut kembali pada webpage.

Aplikasi yang biasanya dijalankan adalah program yang dibikin pake PERL atau pake C kalau servernya UNIX, dan EXE atau DLL kalau servernya Windows NT.
Karena sifatnya adalah program yang dijalankan pada server, maka kamu musti minta izin dari pemilik server supaya dikasih hak "execute" untuk directory
dimana rencananya program cgi tersebut mau di upload.

Ini adalah bagan sederhana yang menjelaskan cara kerja CGI
                                             /==========\
        ==========       +------------+      | dokumen/ |
        = client =<----->| Web Server |<---->| program  |
        ==========       +------------+      | CGI      |
                                             \==========/    

Client (dalam hal ini program yang mengakses suatu web site) akan menghubungi web server (HTTP server) dan meminta informasi darinya, web server akan memberikan informasi yang diminta oleh client. Informasi yang diminta oleh client ini bermacam-macam, jika yang diminta adalah dokumen biasa (file .html atau .txt misalnya ) maka web server akan membaca dokumen yang dimaksud dan memberikannya ke client. Jika client meminta agar server memberikan hasil suatu program (misalnya hasil pencarian) maka web server akan mengeksekusi program CGI dan memberikan pada program itu data yang dikirim client (misalnya kata apa yang hendak di cari) keluaran (output) program akan diterima oleh web server dan disampaikan kepada client.
Program hanya perlu menerima data dari web server mengolahnya dan mengembalikan hasilnya ke web server. Program menerima data dalam bentuk environment variable atau dalam bentuk data dari standard input, dan memberikan hasilnya dengan menuliskannya ke standard output Tadi sudah disebutkan bahwa program CGI bisa ditulis dalam bahasa pemrograman apa saja, lebih tepatnya lagi : bahasa pemrograman apa saja yang bisa membaca environment variable dan bisa membaca dari standard input dan menulis ke standard output. Penulis sendiri baru mencoba membuat CGI dalam shell script (CGI sederhana), C, dan Perl. Artikel ini hanya akan menjelaskan pembuatan CGI dengan Perl, Perl dipilih karena bahasa ini lebih mudah dipakai untuk mengolah teks. Sebenarnya Perl memiliki kerumitan (kompleksitas) yang luar biasa, namun artikel hanya akan memakai sebagian kecil kemampuannya agar penjelasannya lebih sederhana.

Pengetahuan dasar yang diperlukan
Ada beberapa hal dasar yang perlu Anda ketahui sebelum Anda mencobanya;
  • Pengetahuan bahasa HTML, bukan sekedar membuat halaman web dengan program, Anda harus tahu tentang tag-tag HTML, terutama pembuatan form
  • pengetahuan untuk memakai program FTP, Anda harus tahu mode ASCII dan BINARY untuk mengupload/download file, tahu bagaimana meng-CHMOD suatu file, yang ini bisa dikonsultasikan ke help program FTP yang Anda pakai.
Web Server
Kamu perlu web server untuk meng-upload CGI Kamu.
  1. Mencari webhosting yang mendukung CGI
  2. Tidak semua Webhosting ( tentunya yang gratisan  doong... ) menyediakan tempat untuk script CGI. Beberapa web hosting yang mengijinkan hal tersebut : hypermartvirtualavetripodfreedom to surf (semuanya tidak mengijinkan akses dengan telnet). Kebetulan yang saya pakai adalah Virtual Ave. 
  3. Mengkonfigurasi CGI
Langkah untuk mengatur konfigurasi webserver sangat tergantung pada server yang Anda pilih dan sistem operasi yang Anda gunakan, jadi tidak akan dijelaskan di sini. Saran saya Anda sebaiknya menggunakan sistem operasi varian Unix dengan Apache sebagai webservernya. Apache merupakan webserver yang paling banyak dipakai (53% web server di internet memakai Apache). Jika Anda memiliki pertanyaan mengenai bagian ini, saya hanya bisa menjawab jika sistem operasi Anda adalah varian unix (terutama Linux) dengan Apache sebagai webservernya.
Jika Anda memakai fasilitas web hosting baik yang gratis maupun yang tidak, Anda perlu tahu ketentuan mengenai setting untuk program CGI Anda. Lebih tepatnya lagi, Anda perlu tahu:
  1. Di mana letak interpreter Perl di server itu
    Biasanya letaknya di /usr/local/bin/perl (perl 5) atau /usr/bin/perl (perl 4) tapi di server Anda letaknya mungkin saja berbeda
  2. apa path lengkap ke ke direktori kamu.
  3. Apakah Anda boleh meng-override setting global
    Jika boleh (dalam arti Anda boleh menentukan file apa saja yang harus dianggap sebagai program CGI) Anda tinggal meng-override setting ini dan bisa melupakan butir-butir berikutnya.
  4. Di mana CGI Anda harus diletakkan
    Apakah CGI harus ada di direktori tertentu (cgi-bin misalnya) atau boleh di mana saja.
  5. Apakah aplikasi CGI Anda harus berekstensi tertentu
    Apakah aplikasi CGI Anda harus berekstensi .cgi, .pl atau boleh yang lain?
Semua hal tersebut bisa ditanyakan ke costumer service perusahaan web hosting yang dimaksud, atau kemungkinan besar hal itu sudah ada di web site mereka dan Anda tinggal membacanya.

Mengenal SSI (Server Side Includes)
SSI merupakan feature yang ada di web server yang memungkinkan kita menyisipkan berbagai perintah ke dalam dokumen .html kita (biasanya ekstensinya diganti menjadi .shtml untuk menyatakan bahwa dokumen itu sebenarnya adalah dokumen SSI). Perintah yang disisipkan akan di proses oleh web server sebelum dikirimkan ke client. Perintah-perintah ini ada banyak, ada yang untuk menyisipkan suatu file ke dalam file lain, untuk menjalankan suatu perintah, menampilkan waktu update dokumen terakhir, dan ada yang untuk menjalankan suatu program CGI.
Saat ini saya hanya akan menjelaskan yang terakhir saya sebutkan di atas: menjalankan program CGI dan menyisipkan hasilnya dalam dokumen. Untuk melakukan hal-hal yang akan saya jelaskan berikut ini, server Anda harus mendukung SSI dan dukungan itu harus di aktifkan.

Tidak ada komentar:

Posting Komentar