Webopedia on Google+Webopedia on TwitterWebopedia on FacebookTech Bytes Blog
Main » TERM » C »

CGI - Common Gateway Interface

Abbreviation of Common Gateway Interface, CGI is a specification for transferring information between a World Wide Web server and a CGI program. A CGI program is any program designed to accept and return data that conforms to the CGI specification. The program could be written in any programming language, including C, Perl, Java, or Visual Basic.

CGI Programs

CGI programs are the most common way for Web servers to interact dynamically with users. Many HTML pages that contain forms, for example, use a CGI program to process the form's data once it's submitted. Another increasingly common way to provide dynamic feedback for Web users is to include scripts or programs that run on the user's machine rather than the Web server. These programs can be Java applets, Java scripts, or ActiveX controls. These technologies are known collectively as client-side solutions, while the use of CGI is a server-side solution because the processing occurs on the Web server.

One problem with CGI is that each time a CGI script is executed, a new process is started. For busy Web sites, this can slow down the server noticeably. A more efficient solution, but one that it is also more difficult to implement, is to use the server's API, such as ISAPI or NSAPI. Another increasingly popular solution is to use Java servlets.







TECH RESOURCES FROM OUR PARTNERS
LATEST ARTICLES
8 Agenda Apps to Help Students Stay Organized

Webopedia's student apps roundup will help you to better organize your class schedule and stay on top of assignments and homework. Read More »

List of Free Shorten URL Services

A URL shortener is a way to make a long Web address shorter. Try this list of free services. Read More »

Top 10 Tech Terms of 2015

The most popular Webopedia definitions of 2015. Read More »

STUDY GUIDES
The 7 Layers of the OSI Model

The Open System Interconnection (OSI) model defines a networking framework to implement protocols in seven layers. Use this handy guide to compare... Read More »

Computer Architecture Study Guide

This Webopedia  study guide describes the different parts of a computer system and their relations. Read More »

What Are Network Topologies?

Network Topology refers to layout of a network. How different nodes in a network are connected to each other and how they communicate is... Read More »