A lot of problems with web design seem to come from a basic lack of understanding of what the "web" really is. What does posting or uploading a web site actually mean? Where and what is the web? I, personally, used to consider uploading to the web to be analogous with children posting letters to Santa up the chimney: "Yes, that's right, put it up there and Santa will bring you something if you're good". So what exactly is going on? Or, more to the point, how can I uderstand it?
Put simply, the web is a network of web servers connected to fixed 'nodes' on the internet (e.g. 193.195.36.53), which are dedicated to delivering web content (HTML pages).
The IP addresses of the nodes are then held in lookup tables on Domain Name Servers (DNS) so that when a web address is typed into a browser address line it is converted to an IP address.
e.g. http://www.selectautospares.com will be converted to 193.195.36.53.
This allows connection to the machine at this node. Even the user (client or browser) machine gets an IP address, allowing packets of information to be sent from machine to machine.
Web servers are just computers, stripped down to the bare minimum; no fancy graphics card, no sound card, no modem, just the basics: Case, PSU, motherboard, processor, memory, network cards (usually 2, one for internet access, one for LAN) and hard drive. If you can be bothered you can install a floppy drive and CDROM, which are usually already in the case if you're using an old PC. You can get direct access with a keyboard and graphics card, or you can plug a terminal into the serial port, or you can access it by a network. What the machine actually looks like is fairly irrelevant, it might look the same as a home PC, or may be stored in a snazzy blue rack, like the Sun Cobalt RAQ servers.
So that's it - you can build a server out of any old PC lying around with only a small outlay on a couple of network (NIC) cards. A Linux server can be built on a machine with as little as a 66 Mhz processor, 500 Mbyte hard drive and 4 Mbyte memory (check out the Slackware linux project).
Once the hardware is assembled, and an operating system is installed (e.g. Unix, Linux, NT 4, Windows 2000, even Windows 98 or Mac OS, at a push), you need to install server software. On Windows 98 CDROM there is a Personal Web Server (PWS), which allows the user to deploy a web site on their own home machine, and, as long as the IP address of the machine is known (you can run IPCONFIG from the command prompt), you can get other people on the internet to browse through your pages.
![]() |
| Fig 1: System requirements for a web server with database access |
|---|
On Windows 2000 / XP you have similar software built into the operating system, though for professional use you would be better to install Windows 2000 Server, which comes with Internet Information Server (IIS) as standard, which acts as the web server.
Linux systems or distrobutions tend to come with Apache, a free server component, as standard.
This used to be called (and still is on on some servers) the Gateway Interface, or Common Gateway Interface (CGI), and allows HTML to be inserted into the page 'on the fly' or in real time, e.g. the time, the date, the contents of a text file, server variables, information from a database. On Microsoft systems, this tends to be written in a language called ASP or Active Server Pages. This contains a language called VBScript, based on Visual Basic. The server will see that the page is an ASP page (e.g. default.asp), and execute all of the VBScript commands, before passing the page to the browser as an HTML page.
This is not, by any measure, the only method available to produce pages on the fly. Some other languages in common use are Perl (or CGI Scripts) or php (both free), Macromedia ColdFusion, ASP using JavaScript, Java, C, C++ and so on.
To retrieve information from a database, a database component is needed. This allows a connection to be made to the database, allows a SQL (Structured Query Language) statement to be fired at a database, and this allows a recordset (an array of information) to be returned. The active component can then extract information from the recordset to display in the page.
In Microsoft systems this can be done with the Access database components, cutely named the Jet Engine, which allows most of the standard Microsoft database components to be used, e.g. AODB, ODBC, DAO, DDE... loads and loads of Three Letter Acronyms (TLAs) and the like. If you really want to know about these, either look in Microsoft Access help files, look on the Microsoft support site, or do a search on Google for the word 'glossary' and then whatever it is you are interested in. It's all fairly dull, anyway...
Back to Principles of IT