Common Gateway Interface, CGI (en anglès interfície de porta comú) és un protocol estàndard per als servidors web que permet executar programes com si fossin aplicacions de consola (també coneguts com a línia d'ordres) que s'executen al servidor tot generant pàgines web de manera dinàmica. Aquests programes es coneixen com a scripts CGI o CGIs. ls CGI s'executen quan hi ha la connexió web i generen codi HTML.[1][2][3]
Història
El 1993, l'organització NCSA escriu l'especificació d'executables en línia d'ordres.
El 1997, Ken Coar acaba de definir més formalment i es crea la recomanació RFC 3875, la qual especifica la versió 1.1 del CGI. Els scripts CGI són escrits en llenguatge C.[2]
Ús del CGI
Un servidor web permet definir de quins scripts CGI es disposen i en quines adreces URL.
S'implementa creant un directori que s'anomena normalment /cgi-bin/ i és on es posen els scipts CGI. Per exemple http:// example.com/cgi-bin/printenv.pl/with/additional/path?and=a&query=string.
Exemple d'aplicació
Un exemple d'aplicació de CGI és la implementació d'una web Wiki. L'usuari sol·licita el nom d'una entrada de la base de dades, llavors el servidor executa el CGI, i si l'entrada existeix, el transforma a llenguatge HTML i l'envia a l'usuari.