CGI (Common Gateway Interface), Web Servisleri ile bu servislerin dışındaki programlar arasında etkileşim (ortak çalışma) platformu oluşturmak için geliştirilmiş bir standarttır. CGI, aslında bir programdır. Web'in statik yapısına,
HTML kodu içinden çağrılan CGI programları dinamik bir nitelik kazandırmaktadır. En popüler CGI uygulamalarından birisi Web Sayaçlarıdır. Web sayfalarını kaç kişinin ziyaret ettiğini saptayan küçük uygulamalar dış program olarak, bir web sayfası içinden çağrılabilir. CGI programları gerçek zamanlı çalışırlar. CGI'lerin önemli uygulama alanlarından birbaşkası da, web üzerinde doldurup gönderilen formlar üzerindeki bilgileri server tarafında değerlendirip kullanıcıya cevabı göndermektir.
CGI programları "çalıştırılabilir" kodlar olduğundan, bir başkası, kolaylıkla sizin sisteminizde program çalıştırabilir!! Bu yüzden, cgi kodları sistemde özel yerlerde tutulur ve o sistemin görevlilerinin denetimi altındadır.
CGI programları herhangi bir dilde yazılabilir : C, Fortran, Pascal, C++, Perl, Unix Shell, Visual Basic vb. CGI eğer C ya da Fortran gibi bir dilde yazılırsa, derlenmelidir. Perl ya da Unix Shell gibi ortamlar ise
Script ortamlardır ve bu şekilde yazılmış CGI Script'ler doğrudan çalıştırılabilir.
Özellikle Java ve JavaScript kullanımlarının yaygınlaşması, CGI'nin ilk zamanlardaki popüleritesini azaltmıştır. Öte yandan, CGI programları/scriptleri, bulundukları sistemde saklıdırlar ve çalıştıklarında o sistemin kaynaklarını kullanırlar. Oysa Java Appletleri ve JavaScript, doğrudan HTML döküman içinde onu çağıran web listeleyicisine gelirler ve burada icra edilebilirler. Bu da, Java Applet ve JavaScript'in CGI'ye göre önemli bir avantajıdır.