CGI is another term that often brings confusion. CGI is a specification for an interface (say what???) CGI stands for Common Gateway Interface. It's actual a means of connecting from a Web Server program to a scripting language that can perform functions outside the Server's own capabilities. Programs written to be accessed via a CGI interface are frequently referred to as CGI programs or even CGIs. This leads to the notion that CGI is a language, which it is not. Programs written for the CGI are often written in Perl, which is a script programming language.