Book HomeWeb Design in a NutshellSearch this book

Chapter 4. A Beginner's Guide to the Server

Contents:

Servers 101
Unix Directory Structures
File Naming Conventions
Uploading Documents (FTP)
File (MIME) Types

Even if you focus primarily on what's commonly referred to as "front-end" web development -- HTML documents and web graphics -- the server and the way it is configured may impact the way you work. In most cases, there is no way to avoid making firsthand contact with the server, even if it's just to upload files.

For this reason, all web designers should have a basic level of familiarity with servers and what they do. At the very least, this will enable you to communicate more clearly with your server administrator. If you have permission for greater access to the server, it could mean taking care of certain tasks yourself without needing to wait for assistance.

This chapter provides an introduction to server terminology and functions, pathnames, and file (MIME) types. It also discusses uploading files and setting permissions, which designers often need to do.

4.1. Servers 101

A server is any computer running software that enables it to answer requests for documents and other data. The programs that request and display documents (such as a browser) are called clients . The terms "server-side" and "client-side," in regard to specific functions like imagemaps, refer to which machine is doing the processing. Client-side functions happen on the user's machine; server-side functions occur on the remote machine.

Web servers answer requests from browsers (the client program), retrieve the specified file (or execute a CGI script), and return the document or script results. Web browsers and servers communicate via the Hypertext Transfer Protocol (HTTP).

4.1.1. Popular Server Software

Any computer can be a server as long as it is running server software. Today, there are many server packages available, but the overwhelming leaders are Apache and Microsoft Internet Information Server (IIS).

Apache

The majority of servers today (approximately 60%) run Apache. Its popularity is due to the fact that it is powerful and full-featured, and it has always been available for free. It runs primarily on the Unix platform but is being released to run on other platforms, including Windows NT/2000 and Mac OS X.

The core installation of Apache has limited functionality, but it can be expanded and customized easily by the addition of modules. Apache calls on each module to perform a dedicated task, such as user authentication or database queries. You can pick up a copy of the Apache server and its documentation from the Apache home page at http://www.apache.org.

Internet Information Server (IIS)

This is Microsoft's server package, which is also available without charge. IIS runs on the Windows NT platform (in fact, it comes bundled with Windows NT 4.0 and 2000). IIS has developed into a powerful and stable server option that is somewhat easier to set up and maintain than its Unix competitor. It has many advanced server features, including ASP (Active Server Pages) for server-side scripting. As of this writing, approximately 20% of sites run on IIS servers.

For more information on popular servers, check out the articles and resources at ServerWatch (http://www.serverwatch.com). If you are interested in up-to-date statistics on browser usage, see the server survey at Netcraft (http://www.netcraft.com/survey/).

The particular brand of server does not impact the majority of things the designer does, such as making graphics or developing basic HTML files. It certainly influences more advanced web site building techniques, such as Server Side Includes (discussed in Chapter 18, "Server Side Includes"), adding MIME types (discussed later in this chapter), and database-driven web pages. Be certain to coordinate with your server administrator if you are using your server in ways beyond simple HTML and graphic files storage.

4.1.2. Basic Server Functions

As a web designer, it is important that you have some level of familiarity with the following elements of the web server.

4.1.3. Server-Side Programming

Web pages and sites have gotten much more interactive since the early days of simple HTML document sharing. Now web sites serve as portals of two-way information sharing, e-commerce, search engines, and dynamically generated content. This functionality relies on programs and scripts that are processed on the server. There are a number of options for server-side programming, of which CGI, ASP, PHP, and Java servlets/JSP are the most common.



Library Navigation Links

Copyright © 2002 O'Reilly & Associates. All rights reserved.