The server is a rather passive process. It just sits there, waiting for somebody to request something from it. When a request comes in, the server fulfills it, then goes back to waiting for more requests.

The word “server” is often used both to describe the program that handles the fulfillment of requests, and the physical machine this program runs on. This is a bit confusing, and often inaccurate because the same physical machine can actually be operating in the role of either a client or a server, or both simultaneously, depending on what programs are running on it.

The main kind of server used on the Web is an HTTP (Hypertext Transport Protocol) server, used to send Web documents under “http:” URLs. However, other sorts of servers like FTP (File Transfer Protocol) servers can also be used on the Web. The same machine may be running several different servers. The way they’re distinguished is by “port number,” a numeric identifier that is used by the clients when establishing a connection. Usually HTTP servers are at port 80, for instance. If you see a number after a colon (:) in an URL, that specifies a port number. This is normally omitted when the standard port is used.

The most common server software is Apache, available as freeware for a wide variety of platforms. No matter what operating system you’re running, you can probably get an appropriate version of Apache and run a personal Web server yourself, for internal use on your system or LAN even if you don’t have a permanent Internet connection.

However, a professional hosting service is better for high-traffic, high-reliability public sites, but most of them use Apache too. Microsoft’s entry in the server field, the “IIS Server”, fortunately has not achieved the sort of dominance they have in the desktop OS and browser markets; you mostly hear about it when yet another virus, trojan-horse, or hacker exploit succeeds in compromising its security.