Early on in the development of the Web, developers saw the need to interact with servers from their browsers.
The forms interface appeared as a Mosaic extension to HTML in 1993, and was formally added to the HTML Plus specification (the original working name for HTML 2.0) sometime in early 1994.
The forms interface was designed specifically to take advantage of features in the URL specification and the HTTP/1.0 specification.
These specifications each allow methods of getting data back from the client to the server.
CGI (Common Gateway Interface) is the standardized interface for passing data between the Web server and a program running on the same host. It was originally designed to allow a program to process the data submitted by HTML forms.
In time, it became obvious to many of us that the CGI specification could be used for other things besides forms.
In fact, the form elements themselves could be integrated into a variety of applications like:
- Discussion groups
- Chat applications
- Online maps