As you probably already know, the Internet is a complex network of computers. Most of what goes on behind the scenes is of little interest to the person developing content for a website, but it is important to understand some of the fundamentals of what happens when you type an Internet address into your browser. Figure 1-1 shows a simple diagram of this process.
At the top of the diagram in Figure 1-1, you see a computer labeled server-side and a computer labeled client-side. The diagram is by no means an exhaustive or complete picture of what happens when you type in an Internet address, but it serves the purpose of illustrating the portions of the process that the aspiring web designer needs to understand. The server-side computer houses the documents and data of the website and is generally always running so that the website’s visitors can access the website at any time of day. The client-side computer is, of course, your own computer.
The server-side computer contains HTTP server software that handles all the incoming requests for web pages. When you type an Internet address into a browser, the browser sends out a request that travels through a long network of computers that act as relays for that request until the address of the remote (server-side) computer is found. After the request reaches the HTTP server, the HTTP server sees what it is you are trying to find, searches for the page on the server’s hard drive, and responds to the request you’ve made, sending the web page that you expect. That response travels back through another long chain of computers until your computer is found. Your browser then opens the response and reads what the HTTP server has sent back to it. If that server has sent an HTML document or another type of document that your browser can interpret, it reads the source code of that document and processes it into a displayable web page.
This is where CSS enters the picture. If CSS is present in the document, the CSS describes what the HTML page should look like to the browser. If the browser understands the CSS, it processes the web page into something you can see and interact with. If the browser understands only some of the CSS, it generally ignores what it doesn’t understand. If the browser doesn’t understand CSS at all, it usually displays a plain-looking version of the HTML document.