The Common Gateway Interface (CGI): HTML sayfalarını dinamikleştirmek için kullanılan programlama standardı dır.
CGI, C/C++, Java gibi bir programlama dili değildir. CGI çok çesitli diller kullanılarak yazılabılır. Şu anda en çok popüler olan CGI dili Perl dir. CGI ın en büyük özelliği, websitesi ziyaretçisiyle karşılıklı diyaloğa girmesidir. Kullanıcının istekleri doğrultusunda dinamik olarak HTML sayfaları yaratılır, operasyonlar gerçeklestirilir, email gönderilir vs. Böylece websiteleri kuru ve statik HTML sayfası görünümünden kurtularak, dinamik ve interaktif bir hale gelir.
CGI progralarını .pl veya .CGI gibi eklerden tanıyabilirsiniz. CGI programları webserver tarafindan çalıştırılır. Şu anda en çok kullanılan Apache, IIS gibi webserverler CGI desteklemektedir.
PERL (Practical Extraction and Reporting Language): en çok kullanılan CGI programlama dili Perl dir.
CGI nasıl çalışır?
İnternet sunucusunda, kullandığınız dilin yorumlayıcısı (interpreter) olmalıdır. Yazmış olduğunuz kaynak kodunun başına bu yorumlayıcının adını yazarsanız, kod çağırıldığı zaman sunucu tarafından yorumlanıp hemen çalıştırılır ve sonuç HTML’e çevrilerek ekrana yansır. Olay tamamen sunucu tarafında gerçekleştiğinden kullanıcı ya da browser, bir programın çalıştığını anlamaz ve bundan etkilenmez. Ayrıca CGI’lar kendilerine ayrılmış özel dizinlerde (genelde /cgi-bin olur) çalışırlar. CGI’lar ya HTML sayfası gibi bir linkten veya düğmeden çağrılarak çalıştırılır ya da HTML içine gömülerek sayfaların içeriğinde kendilerini gösterirler (içinde CGI çalıştırma komutu bulunan sayfaların uzantısı genelde .shtml ‘dir).