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 end.
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."