in reply to Re: CGI program
in thread CGI program

This is what I got from the link
"The Common Gateway Interface (CGI) is a simple interface for running external programs, software or gateways under an information server in a platform-independent manner. Currently, the supported information servers are HTTP servers"
What I understand is "external programs (Perl program) are placed in HTTP server and its invoked by CGI" How does CGI get invoked ? IsCGI a completely separate from external perl program or is it a part of perl program ?

Replies are listed 'Best First'.
Re^3: CGI program
by Marshall (Canon) on Sep 23, 2009 at 16:24 UTC
    You can write CGI programs in lots of different languages. Here is a simple one in Perl. If you run this code, it will output HTML. If you save that HTML to a file, you can display that file contents in a browser (use open | file).

    #!/usr/bin/perl -w use strict; use CGI; my $q = new CGI; my $timestamp = localtime; print $q->header ("text/html"), $q->start_html ( -title => "Current Time"), $q->h2 ("Current Time"), $q->hr, $q->p( "This system figures current time as: ", $q->b($timestamp) ), $q->end_html;
    You can call this short thing, say "time". Have your friendly (I hope) web administrator set this up so that it can be accessed via a URL and bingo you have your first CGI program working! Basically to output a web page, write a program that spews out HTML to stdout. There is some config stuff at the server end, but this is the idea of what your program has to do.
Re^3: CGI program
by manishrathi (Beadle) on Sep 23, 2009 at 16:19 UTC
    Pls tell me how request flows ?

    web surfer sends request for as page
    HTTP server looks at the request and if it involves external program, then invokes external perl program which is in some dir on the web server. Passes request parameters to this program
    Perl program is executed and sends the result back to the request

    Where does CGI come in picture in this process ?

      There:

      HTTP server looks at the request and if it involves external program, then invokes external perl program which is in some dir on the web server. Passes request parameters to this program