The Common Gateway Interface is a standard way for a Web Server to pass a Web User requests to an application program and to receive data back to the user. When the user requests a Web page (for example, by clicking on a highlighted word), the Server sends back the requested page. However, when a user fills out a form on a web page and clicks "Send", it needs to be processed by an application or program. The Web Server typically passes the form information to a program that processes the data. This particulate method for passing data back and forth between the Server and the application is called the common gateway interface (CGI). It is part of the Web's Hypertext Transfer Protocol (HTTP).
If you are creating a website and want to use or call a CGI program, you can specify the name of the application in the (URL) "Uniform Resource Locator" that you code in the HTML page. This URL can be specified as part of the FORM Tags if you are creating a form.
For example, you might code:
<FORM METHOD="POST" ACTION="https://rshweb.info/cgi-bin/formprog.pl">
The server at "rshweb.info" would pass control to the CGI application called "formprog.pl" to record the entered data and return a confirmation message. (The ".pl" indicates a program written in PERL, but other languages could have been used.)
The common gateway interface provides a consistent way for data to be passed from the user's request to the application program and back to the user. This means that the person who writes the application program can make sure it gets used no matter which operating system the server uses (PC, Macintosh, UNIX, and others). It is simply a basic way for information to be passed from the Web Server about your request to the application program and back again.
Because the interface is consistent, a programmer can write a CGI program in a number of different languages. The most popular languages for CGI applications are: C, C++, Java, and PERL.
An alternative to a CGI application is Microsoft's Active Server Page (ASP), in which a script that is embedded in a Web page is executed at the server before the page is sent.
Perl or Practical Extraction and Report Language is a family of script programming languages that are similar in syntax to the C language, including Perl 5 and Perl 6. Perl is an open source, general-use, interpreted language. In general, Perl is easier to learn and faster to code than the more structured C and C++ languages.
Perl programs can, however, be quite sophisticated. It is often used for developing common gateway interface (CGI) programs because it has good text manipulation facilities, although it also handles binary files. Perl includes a number of popular UNIX facilities such as sed, awk, and tr. It can be compiled just before execution into either C code or cross-platform bytecode. When compiled, a Perl program is almost as fast as a fully pre-compiled C language program. A plug-in can be installed for some servers, such as Apache, so that Perl is loaded permanently in memory, thus reducing compile time and resulting in faster execution of CGI Perl scripts.
Perl Tutorial Hub
An authoritative list of recommended tutorials.
Perl for Perl Newbies Series
Contains verbose slides filled with explanation, examples, and anecdotes. Covers a basic subset of Perl.
The Perldoc Tutorials
The tutorials that ship as part of the perl core. Start with perlintro and then continue with other tutorials.
Beginners Introduction to Perl. A 6-part tutorial that covers the basics. This tutorial should get you started.
Perl and CGI script with Apache2.
LPW: Beginners Perl by Dave Cross
Presentation slides by Dave Cross.
Perl One-Liners Explained by Peteris Krumins
A series of posts about useful perl "one-liners" that may serve as a teach-by-example.
Common Gateway Interface CGI documentation
Introduction, primer for getting started, interface spec, tutorial for writing Error Document. Examples of behavior and programs.
CGI Made Really Easy
Tutorial for writing CGI scripts to process Web forms. In English or German.
CGI Programming 101
A course intended for anyone who knows HTML but doesn’t know Perl or CGI programming.
Instantaneous Introduction to CGI Scripts and HTML Forms
Detailed explanation of CGI forms, how to use them and the mechanics behind how they work.
Kali Linux Tutorial: What is it? How to install it. How to utilize it.
CGI: An Introduction
The tutorial based on the Angry Birds game by Moises Perez is a great example of CGI. CGI animation is the process to use the various software to create animation.
PERL and CGI Tutorial - The Common Gateway Interface, or CGI, is a set of standards that define how information is exchanged between the web server and a custom script.
CGI is a set of standards that defines a standard way of passing information or web-user requests to an application program and getting data back.
CGI Programming 101
A CGI program can be written in any programming language, but Perl is one of the most popular.
CGI Made Really Easy
CGI is not a language. It's a simple protocol that can be used to communicate between Web forms and your program.
Dynamic Content with CGI - Apache HTTP. It is a simple way to put dynamic content on your website.
How to Write a CGI Program in C/C++
CGI programming is no more or less complex than other forms of programming.
Quick and Easy CGI
This is the first in a series of articles that describes how to write, install, and debug Common Gateway Interface (CGI) scripts.
Thousands of scripts and software for websites and web developers. PHP, Perl, CGI, MySQL, Web Apps, SaaS.
Perl & CGI archive is full of useful scripts designed to make your life as a webmaster easier. All our scripts are Very Secure and reliable.
CGI and Perl Script Resource.
The CGI and Perl Script Directory lists 433 Links in 160 Directories.
CGI Scripts and Perl scripts from CosmicPerl.com.
The PCman Website
Free Perl scripts get our freeware CGI programs that we wrote for you, a webmaster, to download and try on your website.
Matt's Script Archive
Free Perl CGI Scripts.
Web Scripts Written by Experts. CGI scripts that are intended as drop-in replacements for the scripts at Matt’s Script Archive.
Tweet Share Pin Email