Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: CGI program

by gman (Friar)
on Sep 23, 2009 at 15:10 UTC ( [id://796994]=note: print w/replies, xml ) Need Help??


in reply to CGI program

Manishrathi,

I understand why you might be confused, but it's as simple as CGI defines a way for your program to interface with the user over http. CGI in not a language but more a standard. I know you did not want another link but the RFC is pretty clear. http://www.ietf.org/rfc/rfc3875

So Perl can be used to talk to most HTTP servers, but you do not turn a perl program into a CGI "program". I always find examples help me to understand best. If you have the ability I would start off with installing apache and perl on a system and play around with it, then ask the same questions, they will probably be much clearer.

Replies are listed 'Best First'.
Re^2: CGI program
by manishrathi (Beadle) on Sep 23, 2009 at 16:08 UTC
    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 ?
      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.
      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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://796994]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (5)
As of 2024-04-19 13:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found