I did a lot reading before posting questions here and I am still confused.
In the book "CGI programming with Perl", it was stated that CGI is a protocol. Does it mean that its something like HTTP ? But for using HTTP or LDAP or SQL, we dont use any API. We just open the interface on client machine for LDAP and SQL and comunicate. For HTTP, we dont need to do anything as its default protocol. So my confusion is about CGI being protocol. How can CGI protocol be used ? If we put a perl script in cgi-bin dir, will it automatically use CGI protocol ?
Is CGI protocol and CGI API, two different things ?
CGI APIs are created using what language ?
There are a lot of Perl APIs available, then why CGI APIs are required ? If a program is written in Perl and CGI API is used in it, is that a Perl program or CGI Program ? What does it mean when .cgi extension is used ? When shall we use .cgi extension ?
Is CGI API in-built in a web server for use ?
What do you mean by "CGI specifies how a webserver can pass data to arbitrary programs" ? what is meant by "arbitrary programs" ?
How is CGI API created ? Why do we have to use CGI functionality ? What is it that CGI has which a Perl does not ?
Is it mandatory to use CGI to pass data to web server ? If we have not used CGI, how will data transfer to "arbitrary programs" ?
Please excuse me , if some questions are primary. ButI am confused and want to get rid of this confusion.

In reply to Re^2: CGI program by manishrathi
in thread CGI program by manishrathi

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.