machines, generate and manipulate images, generate PS and PDF documents, generate
and compress archive files, generate and authenticate OpenSSL signatures, provide
HTTP authentication for access control, handle cookies, query databases and parse XML
files, to name just a few of its capabilities.
These three software elements interact as follows: PHP is run as a module in the Apache
server, a background process (a daemon in UNIX or a service in Windows) which
listens for network requests on port 80, the default HTTP port. In practise, this means that
HTTP requests for all files with the .php (or .php3, or .php4 or .phtml or any arbitrary
extension nominated in the config file) are run through the PHP engine, usually with the
intention of outputting hypertext. This is then sent back to Apache and served out to the
requesting user hence hypertext preprocessing .
PHP has extensions to interact with various well known DBMS`s, including Oracle,
PostgreSQL, MSSQL and the above mentioned MySQL. Assuming PHP has been started
with the appropriate module, a script can then connect to and query any available
database on the network (usually localhost, in practice).
PHP also comes bundled with an event based XML parser extension, which has a number
of automated functions for parsing XML documents and dropping the results into easily
accessible associative arrays. An event based parser ignores DTDs and does not
automatically take note of the document hierarchy. Instead it treats each occurrence of tag
and its attributes as an event which triggers some sort of post defined function.
2.5.2 Client side
While the server side application is focused on the retrival of information, an equally
important part of any piece of software is the user interface, which is expressed in the
languages of the web of HTML and CSS. The Hypertext Markup Language has come a
long way since the first ever website went live from
http://nxoc01.cern.ch/
around the end
of 1990. (http://www.w3.org/People/Berners Lee/FAQ.html#Examples). There has been
an increasing usage of images and other embedded multimedia; the web today is as much
a graphical environment as a textual one, which is in sharp contrast to the first version of
HTML, which did not even have antag. Another issue has been that of
competing browser manufacturers often opting to parse HTML in different ways or even
using their own proprietary tags outside of the W3C specification, with the end result
14