There are also many Web servers -- Microsoft Internet Information Server, Apache, Apple's Web server, etc. You can see their relative popularity at Netcraft.com.
It is noteworthy that two of the most popular programs, the Firefox client and Apache server, are open source software.
The HTTP protocol allows the client and server programs to find out information about each other.
A Web client can discover the server operating system and Web server program. You can also do this manually by entering the domain name of a host running a Web server in the "What's that site running?" box at Netcraft. Note that you can get the results for all of the Web servers in a domain by entering the domain name.
Similarly, when a client uses a Get command to retrieve a page from a Web server, it includes a header with information about the client, for example, the display characteristics. A Web developer can use this information to return different versions of a page depending upon, say, the size of the client screen or which Web client they are using.
Netcraft gathers its data by monitoring servers. (If they are not moderating a server you are interested in, you can add it to their list). They record the history of the server, noting when the operating system or Web server program change. Here is their result for www.csudh.edu during part of 2007: