Technological advances are driven by need, and that evolution is marked by small and large spikes. One of those large spikes was the introduction of HTML (Hypertext Markup Language) because it introduced hypertext, which meant that text information could be accessed in a nonlinear fashion via hyperlinks. HTML was so successful because it was incredibly easy to learn and use and because it worked. But once unleashed, these new capabilities just made users want more-they wanted interactivity and they wanted it to be as easy as HTML. The result is a technological smorgasbord- the only problem may be finding a place in line.
Learning the web technology hierarchy may be the biggest challenge for the nonprogrammer or even the programmer with no web development experience, because there really isn't one-at least not one that's easily laid out in clear terms. The diagram in Figure 1.1 offers a basic look at what happens with a web request; this process is the context in which web development takes place.
Figure 1.1: Processing data via the Internet
The user sits down at her computer keyboard and accesses your website, and information floods her monitor-seemingly with no effort. But there's a lot going on behind that monitor. First, her request is passed along to your web server via her Internet connection; the technology behind this connection is HTTP (Hypertext Transfer Protocol).
Your server interprets the request and sends it along to the appropriate application, which then processes the request. The results are then returned via the web server, which then routes it to her connection and on to her monitor. It's hard to believe all this happens in the few seconds she spent waiting for a request to be processed.
Through a process known as task switching (or multitasking), the web server manages to complete multiple tasks in a short period of time, making each user feel as though she is the only visitor at your site. A web server is the software technology that connects a browser to your database. Here's how it works:
As the server receives each request, it stores them in a queue (a list of items that's constantly updated).
The server chooses a predetermined number of tasks-known as threads-from the queue.
The server loads the first thread and works on it for a while, maybe for a few millionths of a second.
The server then loads the second thread and works on it for a while. The server continues in this fashion until the first thread is complete.
Once a thread is complete, it's removed from the queue.
The more threads you have, the slower each task is completed, but the loss in performance is hardly noticeable in most systems.
This process sees a request and the resulting processed data traveling across several layers of technology:
Browser Accepts requests from the user and displays data. Microsoft Internet Explorer and Netscape Navigator are the most popular browsers today. You'll often see the browser referred to as the client in web development documentation.
Internet connection Most of us connect to the Internet via HTTP connections.
Web server The software technology that allows you to connect to another system via your HTTP connection and then share data. Windows systems use Internet Information Services (IIS) and Personal Web Server (PWS). The most popular non-Windows server is probably Apache.
Logic layer An application server or a scripting language that processes both client- and server- side requests in regard to manipulating, formatting, and displaying data. This layer works in both directions-accepting requests from the client to the server for data and returning data from the server to the client's browser. The web server and application server can be one and the same. For example IIS 5, Microsoft's web server, is also considered an application server and is referred to as such by Microsoft.
Data connection This layer links the logic layer to the actual data. Connection solutions are specific to the operating system or, sometimes, to the actual database software.
Database This layer could comprise any number of database application files. It's simply the storage medium for your data.
Chances are you've visited a data-driven site. Most any time you request information and the browser displays the requested information, you're dealing with a data-driven site. What that means is that a database is actively providing information. Your web browser requests the information via a connection, the server passes that request on to the database, which then processes the request and returns it to your browser, via the server and the connection. Dreamweaver MX can help you build a fully dynamic website, even if you don't have the programming expertise to create such a site on your own.