Help! Understanding CGI Scripts: What Am I Looking At?

  • Thread starter Thread starter Math Is Hard
  • Start date Start date
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 2K views
Messages
4,663
Reaction score
36
I am having trouble understanding what CGI scripts are. What I *think* I know about it is that there is no "CGI" language, and when we say CGI script, we mean something written in Perl or Php or some other language that is run on the server. But I could just be utterly confused.

I was looking at this example:

#!/usr/bin/perl -wT
print "Content-type: text/html\n\n";
print "Hello, world!\n";

The 2nd and 3rd lines are written in Perl, I believe. But what is the first? This is just an instruction to the server to tell it the language? And what language is that first line written in? Is it a UNIX OS command? I don't know anything about UNIX, so that may be why I don't know what's going on.

Thanks!:smile:
 
on Phys.org
CGI (Common Gateway Interface) is a communication protocol that specifies how programs communicate and send information back and forth between a server and client program.
The Common Gateway Interface, or CGI, is a standard for external gateway programs to interface with information servers such as HTTP servers
A CGI script can be written in any language, but in the early days of httpd were commonly written in Perl

The first line of your Hello World script tells the system where to find the Perl interpreter and is common in all unix shell scripts. Basically it tells the system what interpreter to use to execute the commands contained in the file.

The #! is called a 'shebang'

http://hoohoo.ncsa.uiuc.edu/cgi/
CGI on Wikipedia
 
Last edited by a moderator: