Publishers of technology books, eBooks, and videos for creative people

Home > Articles > Web Design & Development > Usability

Web Design Reference Guide

Hosted by


Last updated Oct 17, 2003.

CGI (Common Gateway Interface) is an older technology than PHP, JSP, ASP, and .NET that uses the CGI-bin directory to execute server-side applications using supported languages including Perl, Python, and C++. It's the convention for running programs, software, or gateways using an HTTP server. Despite its age, many still continue to use it because of its easy set up.

CGI communicates with a script on the server side and dynamically creates the output page. Though CGI is often associated with Perl, it still has its own identity. When CGI first appeared on the scene, administrators used Perl because it was the language they knew well at the time and the two became closely associated.

Web servers with CGI capabilities typically have a directory called "/cgi-bin." The name might be slightly different depending on the Web server and how it is set up. A CGI script often uses the .cgi extension.

A disadvantage of using CGI is each executed script starts a new process, which can slow down a Web site's server.