Understanding Clients and ServersIf you're like most people, you probably think of a server as a powerful computer "out there" that you download information from. This concept is not really wrong, but it is an oversimplification that can lead to misunderstandings. This is an attempt to clarify just what servers are and are not. |
|
![]() |
![]() |
![]() A server provides services![]() Clients and servers are usually (but not always) found in a networking environment. The client is a program or a system that you use directly, like your WWW browser or your e-mail reader. The client sends a message to a server, asking the server to perform a task -- usually to retrieve some information, but sometimes to do other things like displaying a certain window on a screen, or converting some roman letters into Chinese characters. Then the server sends a message back to the client -- if the client requested information from a database, then the server returns either the requested information, or a message saying the information could not be found. Clients and servers use a language, known as a protocol, to exchange messages. There are a wide variety of protocols for different purposes, and the client and the server must recognize the same protocol. HTTP, for example, is the main protocol used on the World Wide Web; all Web servers and all browsers recognize the HTTP protocol. |
|
![]() |
|
A server is not a specific piece of hardwarePeople sometimes refer to specific types of computers as "servers". If you read Computer Shopper, you've probably seen your share of advertisements for "lightning-fast" and "indestructible" servers. But technically speaking, no computer is by nature a server. What makes a system -- the computer plus the software running on it -- a server is the role it plays in a network. The "server" in a local network or on the Internet is just a computer that provides services to other computers on the network, by running one or more server programs. If you wanted to, you could install Linux and some networking programs on an ordinary notebook computer, and use it as a Web server. It probably wouldn't be a good idea, because as soon as you started getting a lot of hits, the CPU would fry or the hard disk would crash. By the same token, you could take a "server" and use it for wordprocessing and playing games. But you would probably have much more speed and memory than you needed, and you might have an undersized, eye-straining monitor and no sound card. So what the magazine ads really mean is "systems suitable for use as servers". It's how they are used that actually makes them servers. |
|
![]() |
|
A client and a server can be on the same computerClient-server systems are most common in networks, where many people may need to exchange messages or access common databases. But a server program can run on a computer that is mainly used as a client, and vice-versa; the client and server can even be on the same machine. In fact, this is very common in Linux, because much of its software is inherited from UNIX -- and UNIX was originally designed for highly centralized networks in which the user's workstation had very limited capabilities, and most of the work was done on the server. So even on single-user Linux systems, there are a great many tasks that are done with a client and a server. This is, I think, one reason why it's easy to turn any Linux box into a server: many of the networking programs you need are included in the basic installation. |
|
![]() |
|
Clients and servers can change roles at the drop of a hatAs if things weren't complicated enough already, there are programs that can act as a client sometimes, a server at other times, or neither. If you're accustomed to Microsoft Windows, you may have heard of OLE and DDE. Even if you haven't heard of them, you've probably used them. OLE (which stands for Object Linking and Embedding) and DDE (Dynamic Data Exchange), are both client-server protocols; they're commonly used to exchange data between the different applications in an office suite. For example, you've probably inserted graphics in a word-processor document before -- graphics which you can double-click in order to edit them in a graphics editor. On Windows systems, this amazing convenience is provided by OLE. When you double-click on the graphic, the word-processor uses the OLE protocol to send a message to the graphics editor saying, "Hey you! Wake up and put a window on the screen so the user can edit this picture!". At that moment the word processor is acting as a client and the graphics editor is acting as a server. But when you are clicking and dragging your mouse to touch up your beautiful chart, it's not really a server; you're just using the graphics program in the normal way. But then you finish editing the chart and close the graphics window, and it's client-server time again as the graphics editor sends the finished drawing back to the word processor. The key point here is: what really defines a client or server is the way it interacts with other programs. Most networking programs are only clients or only servers, but some can change roles according to how they are being used at any given time. ![]() |
|
![]() ![]() |
![]() |
![]()
This page hosted by |