CGI states things like:
- URL parameters are passed as command line parameters to the program
- Certain environment variables contain other information, like the remote host, the request URL, the user (if authenticated via HTTP basic authentication) etc.
- HTTP POST data is passed to the standard input of the program
So you see that CGI is, like HTTP, a specified form to exchange data.
Unlike HTTP the web server provides all information without asking first. Because CGI is not a networking protocol.
Perl 6 - links to (nearly) everything that is Perl 6.