Datasheet
870
Understanding Clients and Servers
✦ Clients are limited. Web browsers and other client-side software are
often limited so that programs accessed over the Internet can’t make
major changes to the local file system. For this reason, most client pro-
grams operate in a sort of “sandbox” to prevent malicious coding.
✦ Clients can be turned off without penalty. It doesn’t really cause any-
body else a problem if you turn off your computer. Generally, client
machines can be turned off or moved without any problems.
Servers are the machines that typically host Web pages. They have a much
different set of characteristics:
✦ Servers are controlled by server administrators. A server administrator
is responsible for ensuring that all data on the server is secure.
✦ Servers have permanent connections. The purpose of a server is to
accept requests from clients. For this reason, a server needs to have an
IP number permanently assigned to it.
✦ Servers usually have names, too. To make things easier for users,
server administrators usually register domain names to make their serv-
ers easier to find.
✦ Servers can access other programs. Web servers often talk to other pro-
grams or computers (especially data servers).
✦ Servers must be reliable. If a Web server stops working, anybody trying
to reach the pages on that server is out of luck. This is why Web servers
frequently run Unix or Linux because these operating systems tend to be
especially stable.
✦ Servers must have specialized software. The element that truly makes
a computer a server is the presence of Web server software. Although
several options are available, only two dominate the market: Apache and
Microsoft IIS.
Parts of a client-side development system
A development system is made up of several components. If you’re program-
ming on the client (using XHTML, CSS, and JavaScript), you need the follow-
ing tools:
✦ Web browsers: You need at least a couple of browsers so that you can
see how your programs behave in different ones. Firefox is especially
useful for Web developers because of its numerous available extensions.
✦ Browser extensions: Consider adding extensions to Firefox to improve
your editing experience. Web Developer, Firebug, and HTML Validator
are extremely helpful.
✦ Text editor: Almost all Web development happens with plain-text files.
A standard text editor should be part of your standard toolkit. I prefer
53_9780470537558-bk08ch01.indd 87053_9780470537558-bk08ch01.indd 870 10/7/10 8:58 PM10/7/10 8:58 PM