WWW6 tutorial:
doing things with the Web: where applications execute


this tutorial - originally called programming the Web - discussed the various possibilities of enhancing Web documents and providing access to data and services not available with static HTML. the four speakers gave a general overview of different programming technics and how they work.

programming can be done either on the server side or on the client side.


server side programming:

a WebServer can not only send static HTML documents back to the client, but its functionality can be extended by the following means:

  1. server side includes (ssi): this allows the inclusion of some information into documents sent back to the client. it is a quite trivial method and does not require any programming. ssi may depend on the brand of the http server being used.

  2. common gateway interface (cgi): provides information about the client and optionally additional data e.g. entered into a form by the user. this data may be processed either by a shell script or by a program written in perl, tkl, C or whatever programming language seems to be appropriate.
    there is a proposed new standard called FastCGI which includes embedded perl and possibly other programming language interpreters into the http server to speed up the execution of such programs.

  3. server plug-ins using API: there is no WWW server API standard yet ! server plug-ins are heavily dependant on the brand of the http server being used. server APIs provide not only access to data similar to cgi, but they support what is called staging. plug-ins can get control over the process of responding to an HTTP request at various stages, such as: NOTE: currently, the apache server is one of the most comprehensive WebServers and supports nine different stages.

  4. some WebServer may also support perl and Java plug-ins.

WARNING: no matter what kind of programming method will be used, security should always be a major concern !


client side programming:

there are basically two types of client side programming: executable content (such as Java applets) and browsers extensions (so called plug-ins).

what are the advantages of client side programming ?

as an example, the client my validate the various fields of a form before it gets transmitted over the net. it does not make sense to transfer the contents of a form across the ocean just to find out that a field was not filled in or contains an incorrect value. this is a waste of network bandwidth and computing power on the server.

what are the disadvantages of client side programming ?

possible improvements without any programming:

possible improvements with little programming:

possible improvements with programming:

there are also other rather odd methods to enhance the appearance of a Web document, such as absolute positioning or layered HTML. these methods are highly browser dependant and therefore badly suited for use on the Internet.

this tutorial is available on the Web.


to the WWW6 trip report main document


tut_pgming_the_web.html / 08-apr-1997 (ra) / reto ambühler