This course was given in 1999 as one of the Emerging Technologies (INT3004) courses at Griffith University (School of Information Technology), Australia. Some links have been added much more recently.
|Wed. 22/09||General introduction
|Wed. 06/10||The Get and Post methods of the CGI to encode parameters
Security issues: 1, 2, 3
Shell script using a
C program to decode
the GET/POST parameters
C Script storing its GET/POST parameters into an associative list
Decoding function used in the previous script
Interface to test the previous scripts
The W3C Library (e.g. to access files on the Net from C programs)
|Fri. 15/10||Exercise on CGI servers in C and shell|
|Wed. 20/10||Introduction to some successors/complements of
(see also this Widely Supported HTML4 and Unicode Charactersand this
Example of HTML+CSS file
CSS1, CSS2, CSS1 rules for HTML 2.0, CSS2 rules for HTML 4.0
Extensive demo site for CSS
Old postscript slides
Solutions to the examination.
Markup languages, such as HTML, XML and VRML, allow the storage of structured data in a textual form, via the association of "tags" or "marks" to document elements (DEs). A tag isolates a DE from the rest of the document and represents a property of a DE, e.g. that it is a paragraph, a section, an image, or an hyperlink link source/destination. The embedding of tags within others also support the structuration of the data. Thus, markup languages may be used to store databases as well as structured documents.
Though some tags may be directly used for presentation purposes (e.g. in HTML, the "italics" tag), it is better to use tags only for storing and structuring data content, and then associate default presentation rules to the tags according to the media (e.g. screen, printer, audio) or the application. Examples of languages for associating presentation rules to HTML/XML tags are CSS and XSL.
Markup languages and presentation rules enable the creation of static documents, i.e. documents which have a fixed content.
The HTTP protocol allows a program (e.g. a Web browser such as Netscape) to ask another program for a document. The document is refered by a URL (or URI). The two programs may not be on the same machine. The one which provides the document is called the "server", the one which receives it is called the "client".
To allow the creation of dynamic documents, actions need to be associated to some document elements to handle certain events from the user, e.g. the selection of a portion of text with a mouse, the insertion of text into a text area, the click of a button. The main two current ways of doing this on the Web is to exploit the "CGI protocol" or to use a script language understood by the browser.
In the first case, when the user clicks on a submit button, the content of "form" elements (e.g. the text in text fields and the selections of menus or radio buttons) is encoded and sent by the browser to a Web-accessible program the URL of which has been associated to the submit button by the document author. Then the program uses this information as parameters for some action, creates an HTML document to show the results and sends it back to the browser which displays it. Thus, the CGI protocol allows to send parameters to "servers".