in reply to making dynamic web pages

CGI stands for "Common Gateway Interface". All web pages deal with this protocol. The implementation language does not matter!! CGI is the way that web gizmos interact, that is pretty much it!
Anyway CGI is a protocol, not a language and it is not Perl or Java specific.

Perl is great at implementing dynamic web pages from the server end. By "dynamic", I assume you mean that the content of the web page that is sent to the user varies. This can be done in many languages, Perl and Java are just two of them.

Do a "google" on CGI and you will see lots of links to explain this: http://hoohoo.ncsa.illinois.edu/cgi/ is an old link, but shows up at the top of the list. I looked at the Wiki entry for CGI and did not find it particularly satisfying although the reference links are good.

There are all sorts of frameworks that enable Perl server applications to be written easier. There are server side tools that can improve the performance of both Java and Perl web applications (fastCGI for Perl is just one of them).

Replies are listed 'Best First'.
Re^2: making dynamic web pages
by manishrathi (Beadle) on Dec 21, 2009 at 19:45 UTC
    Is there any other protocol available on webserver to deal with webpages for dynamic content other than CGI ? Does CGI protocol vary for diferent web servers ? Is CGI protocol available on web servers only ?
      Is there any other protocol available on webserver to deal with webpages for dynamic content other than CGI ?
      No! Not for static content either!

      CGI "Common Gateway Interface" is the protocol of how browsers talk to web servers.

      Can I define and use a different proprietary protocol between a client and a server? You betcha! Happens all the time. But this server won't be able to talk to clients on the web.

      Does CGI protocol vary for different web servers? No. Microsoft has their .aspx pages. And there are lots of complications of talking to a web server like that, but this is all done via CGI, "Common Gateway Interface".

      To read more about Microsoft pages: http://msdn.microsoft.com/en-us/library/ms972976.aspx. What happens with pages like this is that they send a whole lot of data identified as "View_state" and other things. As a browser, you have to send this back via POST. This all happens via the CGI protocol. The difference is only what you receive and what you need to send back + your additional information in the POST.

        I don't know if there is a misunderstanding, but your posting is awfully wrong:

        • There are lots of other protocols for dynamically generated HTTP resources. CGI is one of the oldest and still one of the most common ones. But then there is FastCGI, a lot of native APIs like Apaches mod_perl or mod_php, NSAPI. And Java also has a few APIs hidden between the buzzwords.
        • CGI is the protocol between the web server and some other application on the server side. CGI is never spoken between browser and web server.
        • ASPX and many other solutions are not done via CGI, they use propritary interfaces or one of the APIs above.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)
        That is a common misunderstanding.
        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.
        http://tools.ietf.org/html/rfc3875
      What differences does it make? None will be any easier to understand than the most common one, CGI.