CGI stands for the Common Gateway Interface (CGI), a simple protocol that allows a Web or HTTP server to talk to a program or script. Through this gateway a program recieves information from the server and sends information back. The program can further validate forms, query databases, send email, communicate with electronic banking applications, etc. The programming language that is connected to the gateway is called a CGI program. In this Appendix we will use the Perl language because it is the most popular for writing CGI scripts, although any programming language that can be executed on the server is fine, including C++, C, Fortran, AppleScript, TCL, and Visual Basic.
Figure C.1. The relationship between the browser, server, and CGI program.