FreeOS.com goes in-depth with Web servers, explaining some of
the underlying protocols and networking concepts involved, then
delving into some basic Apache configuration options:
"Web communication deals with a browser type of client
process and Web server type of server process. What actually
happens when a user writes http://www.yahoo.com? Well, the browser
transfers the URL to current machine's operating system with a
destination address' operating system, which is responsible for
extracting protocol i.e. "http" from the client socket (browsers)
and then it packets data using layer software and over the packet
it attaches the header http. This enables the remote machine to
hand over the request to Web server of remote machine. Why so?
Because there can be many a server running on the same machine so
the particular services are distinguished by their protocol.
But how should we explain when telnet and ftp both are using
same protocol but have different server Processes? The answer is
that they are distinguished by their port numbers. Services may
have same protocol but not the same port number. After this the
operating system throws the data to network interface card through
the ram and then network interface card gives it to nearest
gateway, which sends the data to the server machine at server
The network card gives a signal back to operating system that a
data enclosed with http header using TCP/IP header has arrived.
One's operating system checks that data has http wrapper and
searches for Web server on that machine. When it finds, it hands
over the data and pays attention to other processes."