I beleive that most of the dynamic content is actually implimented through
ISAPI dlls, registered with the web server. Those dll's are passed the
incoming requests and spit out an HTML response back to the server which
sends it to the browser.
The dll's then are just programms written in whatever lanuguage they wanted.
ISAPI (definition from http://e-comm.webopedia.com/TERM/I/ISAPI.html)
Short for Internet Server API, an API for Microsoft's IIS (Internet
Information Server) Web server. ISAPI enables programmers to develop
Web-based applications that run much faster than conventional CGI programs
because they're more tightly integrated with the Web server. In addition to
IIS, several Web servers from companies other than Microsoft support ISAPI.
Most of the CGI's I've seen developed have been done with PERL, and in my
ignorance I substituted PERL with CGI, I'll not do that again.
CGI "Common Gateway Interface" (from
http://hoohoo.ncsa.uiuc.edu/cgi/intro.html)
---------------------------------
The Common Gateway Interface (CGI) is a standard for interfacing external
applications with information servers, such as HTTP or Web servers. A plain
HTML document that the Web daemon retrieves is static, which means it exists
in a constant state: a text file that doesn't change. A CGI program, on the
other hand, is executed in real-time, so that it can output dynamic
information.
For example, let's say that you wanted to "hook up" your Unix database to
the World Wide Web, to allow people from all over the world to query it.
Basically, you need to create a CGI program that the Web daemon will execute
to transmit information to the database engine, and receive the results back
again and display them to the client. This is an example of a gateway, and
this is where CGI, currently version 1.1, got its origins.
The database example is a simple idea, but most of the time rather difficult
to implement. There really is no limit as to what you can hook up to the
Web. The only thing you need to remember is that whatever your CGI program
does, it should not take too long to process. Otherwise, the user will just
be staring at their browser waiting for something to happen.
----------------------------------------------------------------------------
----Specifics
---------------------------------------------------------------------------- ---- Since a CGI program is executable, it is basically the equivalent of letting the world run a program on your system, which isn't the safest thing to do. Therefore, there are some security precautions that need to be implemented when it comes to using CGI programs. Probably the one that will affect the typical Web user the most is the fact that CGI programs need to reside in a special directory, so that the Web server knows to execute the program rather than just display it to the browser. This directory is usually under direct control of the webmaster, prohibiting the average user from creating CGI programs. There are other ways to allow access to CGI scripts, but it is up to your webmaster to set these up for you. At this point, you may want to contact them about the feasibility of allowing CGI access. If you have a version of the NCSA HTTPd server distribution, you will see a directory called /cgi-bin. This is the special directory mentioned above where all of your CGI programs currently reside. A CGI program can be written in any language that allows it to be executed on the system, such as:
C/C++ Fortran PERL TCL Any Unix shell Visual Basic AppleScript It just depends what you have available on your system. If you use a programming language like C or Fortran, you know that you must compile the program before it will run. If you look in the /cgi-src directory that came with the server distribution, you will find the source code for some of the CGI programs in the /cgi-bin directory. If, however, you use one of the scripting languages instead, such as PERL, TCL, or a Unix shell, the script itself only needs to reside in the /cgi-bin directory, since there is no associated source code. Many people prefer to write CGI scripts instead of programs, since they are easier to debug, modify, and maintain than a typical compiled program.
Shane
-----Original Message----- From: Joe Rhett [mailto:jrhett@isite.net] Sent: Tuesday, June 13, 2000 3:07 PM To: Joe Cc: Shane Kelly; S; dev-list@opensrs.org Subject: Re: Heeeeeeeeeerrre's Johnny! <think Jack Nicholson>
> Just a small clarification. > > PHP, ASP, CFM, Perl, JSP, C, C++, VB, - all of these are "CGI's". CGI does > not mean "perl program". CGI is the "Common Gateway Interface" and is the > method used to interface the web server with external applications, > regardless of what language those applications might be written in.
Clarification not at all. None of these are CGIs. Most of these can be used to develop CGIs, but they can also be used to write programs which operate on web servers without being CGIs.
Also, ASP is a completely different method of providing dynamic content.
-- Joe Rhett Chief Technology Officer JRhett@ISite.Net ISite Services, Inc.
PGP keys and contact information: http://www.noc.isite.net/Staff/
This archive was generated by hypermail 2.1.3 : Tue Oct 19 2004 - 23:35:36 EDT