Requests arrive on an interface for a number of different services
offered by the server using different
protocols:
NNTP: port number 119
SMTP: port number 25
DNS: port number 53
HTTP: port number 80
As the local administrator or webmaster, you can (if you really want)
decide to attach any service to any port. Of course, if you decide to
step outside convention, you need to make sure that your clients
share your thinking. Our concern here is just with WWW and Apache.
Apache, by default, listens to port number 80 because it deals in WWW
business.
This is fine if our machine is providing only one web server to the
world. In real life, you may want to host several, many, dozens, or
even hundreds of servers, which appear to the world to be completely
different from each other. This situation was not anticipated by the
authors of HTTP/1.0, so handling a number of hosts on one machine has
to be done by a kludge, which is to assign multiple addresses to the
same interface and distinguish the virtual host by its IP address.
This technique is known as IP-intensive virtual
hosting. Using HTTP/1.1, virtual hosts may be created by
assigning multiple names to the same IP address. The browser sends a
Host header to say which name it is using.