Common Gateway Interface: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
39Agung (bicara | kontrib)
+edit wikifisasi cgi
Reno-Sifana (bicara | kontrib)
k Memperbaiki Hyperlink
 
(36 revisi perantara oleh 22 pengguna tidak ditampilkan)
Baris 1:
{{kegunaan lain|CGI|CGI}}
[[Berkas:CGI common gateway interface.png |jmpl|ka|260px]]
'''Common Gateway Interface''' atau disingkat '''CGI''' adalah suatu [[standar]] untuk menghubungkan berbagai program aplikasi ke [[web | halaman web]]. CGI mirip sebuah [[program komputer]] yang menjadi perantara antara standar [[HTML]] yang menjadikan tampilan [[web]] dengan [[program]] lainnya.<ref>Wahana Komputer, ''Kamus Istilah Internet'', halaman 15. ANDI.</ref>
 
CGI mirip sebuah [[program komputer]] yang menjadi perantara antara standar [[HTML]] yang menjadikan tampilan [[web]] dengan [[program]] lain, seperti [[basis data]] (''database'').<ref name="wk">Wahana Komputer, ''Kamus Istilah Internet'', halaman 15. ANDI.</ref> Hasil yang diperoleh dari proses pencarian dikirimkan kembali ke halaman web untuk ditampilkan dalam format HTML.<ref name="wk"/>
 
Selain itu juga CGI adalah suatu [[protokol (komputer)|protokol]] standar untuk menjembatani [[perangkat lunak]] [[aplikasi]] eksternal dengan suatu [[server]], yang umumnya berupa [[server web]]. Protokol ini memberikan kemampuan bagi server untuk menyampaikan permintaan dari [[penjelajah web]] [[klien (komputer)|klien]] kepada aplikasi eksternal. Server web selanjutnya dapat mengembalikan keluaran dari aplikasi kepada penjelajah web tersebut.
== Pendahuluan ==
Pada awalnya CGI adalah salah satu yang mendekati [[aplikasi]] ''server-side programming''. Program CGI yang sering digunakan adalah [[C++]] dan [[Perl]].<ref name="andi"> Andi Sunyoto, M. Kom (Amikom Yogyakarta), ''Ajax Membangun Web dengan Teknologi Asynchronouse JavaScript & XML'', hal 121. ANDI.</ref> Program CGI yang sering digunakan adalah [[C++]] dan [[Perl]].<ref name="andi"/> CGI merupakan bagian dari [[web server]] yang dapat ber[[komunikasi]] dengan program lain yang ada di [[server]].<ref (Gundavarmname="sr">Suwanto Raharjo S.Si, [[1996]])M.Kom & Dr. Jazi Eko Istiyanto, M.Sc. ''Keamanan Akses ke PostgreSQL Melalui PHP (Menggunakan Apache Web Server pada GNU / Linux)''</ref> Dengan CGI web server dapat memanggil program yang dibuat dari berbagai [[bahasa pemrograman]] (''Common'').<ref name="sr"/> Interaksi antara pengguna dengan berbagai aplikasi, misalnya [[database]], dapat dijembatani oleh CGI (''Gateway'')<ref>Suwanto Raharjo S.Si, M.Kom & Dr. Jazi Eko Istiyanto, M.Sc. ''Keamanan Akses ke PostgreSQL Melalui PHP (Menggunakan Apache Web Server pada GNU name="sr"/ Linux''</ref>
Kemampuan CGI ini dapat digunakan untuk Web Server IIS.
 
== Sejarah CGI ==
CGI (''Common Gateway Interface'') merupakan ''script''skrip tertua dalam bidang pemrograman web.<ref name="frans">Frans, ''Membuat Web Dinamis dan Interaktif dengan CGI'', halaman 4-5. ANDI.</ref> [[Script|Skrip]] bisa didefinisikan sebagai rangkaian dari beberapa instruksi program.<ref name="frans"/> Untuk membuat scriptskrip yang dapat dijalankan pada web tentunya diperlukan pengetahuan [[pemrograman]].<ref name="frans">Frans, ''Membuat Web Dinamis dan Interaktif dengan CGI'', halaman 4-5. ANDI.</ref>
 
CGI sendiri telah muncul sejak [[teknologi]] web diperkenalkan di [[dunia]] pada awal [[tahun]] [[1990]], bersama dengan kemunculan [[CERN]], web server pertama di dunia.<ref name="frans"/> CGI disediakan sebagai ''[[Perkakas|tool]]'', atau perlengkapan untuk membuat program web.<ref name="frans"/> CGI digunakan untuk membuat program-program tampilan web yang lebih interaktif, koneksi ke databasebasis data, bahkan membuat permainan (''[[game]]'').<ref name="frans"></ref>
 
CGI pada masa-masa awalnya dibuat dengan [[C | bahasa C]], [[bahasa]] yang juga digunakan untuk membuat web server [[pertama]] yaitu, CERN. CGI kemudian diadopsi oleh NCSA (''National Central for Supercomputing Application'') web server, dan hingga kini masih digunakan pada [[Apache HTTP Server | Apache Web Server]], web server yang paling banyak digunakan oleh [[komunitas]] [[Internet]] saat ini.<ref name="frans"></ref>
 
Walaupun demikian CGI bisa juga direalisasikan dengan banyak bahasa pemrograman lain. Mulai dari [[Bahasa C|C]], [[Perl]], [[Ruby (bahasa pemrograman)|Ruby]],<ref name="cgiruby">{{cite web|url=https://ruby-doc.org/stdlib-1.9.3/libdoc/cgi/rdoc/CGI.html|title=Pemrograman CGI dengan Ruby|language=en|accessdate=2018-05-27}}</ref> [[Python]], [[PHP]], Tcl/Tk, hingga scriptskrip ''shell'' pada [[UNIX]] / [[Linux | LINUX]].<ref name="frans"></ref>
 
== Keamanan Program CGI ==
CGI seringkalisering kali digunakan sebagai mekanisme untuk mendapatkan [[informasi]] dari user melalui ''fill out form'', mengakses [[basis data]] (database), atau menghasilkan halaman yang dinamis. meskipun secara prinsip mekanisme CGI tidak memiliki lubang [[keamanan]], program atau skrip yang dibuat sebagai CGI dapat memiliki lubang keamanan ataupun tidak sengaja). Potensi lubang keamanan yang digunakan dapat terjadi dengan CGI antara lain : <ref>Deris Stiawan, ''Sistem Keamanan Komputer'', halaman 138-139. Elex Media Komputindo.</ref>
* Seorang pemakai yang nakal dapat memasang skrip CGI sehingga dapat mengirimkan berkas [[kata kunci]] (''[[password]]'') kepada pengunjung yang mengeksekusi CGI tersebut.
* Program CGI dipanggil berkali-kali sehingga server menjadi terbebani karena harus menjalankan beberapa program CGI yang menghabiskan [[memori]] dan [[CPU]] ''cycle'' dari web server
 
== Referensi ==
{{reflist}}
== Pranala luar ==
 
* {{en}} [http://www.w3.org/CGI/ The CGI standard at w3.org]
* {{en}} [http://hoohoo.ncsa.uiuc.edu/cgi/ The CGI/1.1 specification] {{Webarchive|url=https://web.archive.org/web/20021003125844/http://hoohoo.ncsa.uiuc.edu/cgi/ |date=2002-10-03 }}
 
{{Standar W3C}}
 
[[Kategori:WWW]]
 
[[Kategori:WWWWorld Wide Web]]
[[ar:واجهة المعابر العامة]]
[[cs:Common Gateway Interface]]
[[da:Common Gateway Interface]]
[[de:Common Gateway Interface]]
[[en:Common Gateway Interface]]
[[eo:CGI]]
[[es:Interfaz de entrada común]]
[[et:CGI]]
[[eu:Common Gateway Interface]]
[[fi:CGI]]
[[fr:Common Gateway Interface]]
[[he:Common Gateway Interface]]
[[hi:कॉमन गेटवे इंटरफेस]]
[[hu:CGI (protokoll)]]
[[is:Common Gateway Interface]]
[[it:Common Gateway Interface]]
[[ja:Common Gateway Interface]]
[[ko:공용 게이트웨이 인터페이스]]
[[lt:CGI]]
[[nl:Common Gateway Interface]]
[[no:Common Gateway Interface]]
[[pl:CGI]]
[[pt:CGI]]
[[ru:CGI]]
[[sk:Common Gateway Interface]]
[[sl:Common Gateway Interface]]
[[sv:Common Gateway Interface]]
[[ta:பொதுவான கேட்வே இடைமுகம்]]
[[te:కామన్ గేట్వే ఇంటర్ఫేస్]]
[[uk:CGI]]
[[zh:通用网关接口]]