Title: Chapter 3: How Clients and Servers Work Together
1Chapter 3 How Clients and Servers Work Together
- i-Net Guide to the Internet
- Third Edition
2Objectives
- Learn about the interaction of clients and
servers - Explore the features and functions of Web servers
- Examine how e-mail server and client software
work - Use FTP to transfer files
- Initiate and use a Telnet session
- Subscribe to and use newsgroups
- Learn about gophers and gopher space
3Understanding How Clients and Servers Interact
- A server can be software that provides a service
to other software or the computer on which the
server software is running. - Consider a server as a software application that
must be installed and managed by someone with the
title of system administrator, network
administrator, or, for Web servers, Webmaster.
4User Interfaces GUI Versus Command-Driven
- When you use a command-driven interface, you type
commands into a user interface to perform a task
and achieve a desired result. - In contrast to a command-driven interface, a
graphical user interface (GUI) has icons or menus
that you can select to perform a function or run
a program.
5User Interfaces GUI Versus Command-Driven
(Continued)
- Applications that run on computers and servers
can also be controlled by configuration or
initialization files. - An initialization file (INI file) is an ASCII
text file with a .ini file extension.
6Client/Server Sessions
- As shown in Figure 3-9, TCP (Transmission Control
Protocol) manages the three-way handshake that
establishes a session to be used by application
protocols, such as HTTP or FTP.
7Tracking Information in Log Files
- Servers and client applications often track
information about their activities in log files. - These are text files that administrators can use
to troubleshoot problems with the software, to
track activities to analyze traffic patterns or
user preferences, or to look for clues indicating
that hackers are using the server.
8All-in-One Clients
- As the number of applications that use the
Internet grows, the need for client software on
computers to use these applications also grows. - One solution to the growing number of Internet
applications is an all-in-one client or universal
client. - These clients can handle several applications and
adjust appropriately, changing buttons and
functions to accommodate each application. - Microsoft Internet Explorer is a good example of
an all-in-one client.
9Exploring the Features and Functions of Web
Servers
- A wide variety of Web servers are available, many
of which you can download for free. - Some popular Web servers include the following
- Apache Web Server
- Microsoft Internet Information Services (IIS)
- Border Manager
- Netscape Enterprise Server (NES)
10Ability to Support Virtual Servers and Virtual
Hosts
- A Web server should be able to support virtual
servers and virtual hosting. - Most virtual hosts handle multiple domain names
on the same server by having the Uniform Resource
Locator (URL) serve as a path to a file. - Figure 3-10 illustrates the difference between
virtual servers and virtual hosting.
11Ability to Support Virtual Servers and Virtual
Hosts (Continued)
12Protocols Supported
- All Web servers support HTTP, and some also
support FTP so developers can send files to the
site from remote locations. - If you want to use your Web server for e-mail,
the server must support e-mail protocols.
13Access Control
- Based on the users IP address or user ID, access
control allows the Web server to limit to which
files a user can read or write. User Ids are
associated with passwords to verify a users
identity. - Another method of access control is changing the
port at which a server is listening. - Port 80 is the default port for Web servers.
- Apache Web Server controls access to its
resources via a process known as authentication,
which requires a user to enter a valid user ID
and password to access a Web site.
14Access Control (Continued)
15Encrypting Protocols
- A secure protocol used by Web servers is SSL
(Secure Sockets Layer). - When you see a URL with https at the beginning
instead of http, you know that this Web server
is using the SSL protocol for security.
16Chroot Mode
- Chroot mode restricts the portion of the file
system that the server occupies. - Running in chroot mode offers security because
all private files can be kept outside of the
server area.
17Server Side Scripting
- A script is a short list of instructions that
certain software can perform. - The instructions must be written in a format
called a scripting language. - Popular scripting languages include Perl,
VBScript, and JavaScript.
18Standard CGI-Based Scripts
- Common Gateway Interface (CGI) is the set of
specifications that defines how a Web server
passes a Web users input to an application
program running on the server, receives a
response, and passes data back to the user. - One advantage of CGI scripts is that they are
consistent among operating systems.
19Server-Side Include (SSI)
- Server-Side Include (SSI) is a simple form of
scripting that allows you to include variable
values in HTML code before it is sent to the
browser. - SSI scripts insert a line in the HTML file that
indicates a variable value needs to be entered
before the file is sent to the browser.
20Database Interfaces
- Before selecting a Web server or a virtual
hosting service, find out what databases the
server supports and what tools can exchange
information with the database. - Popular databases are MS Access, MySQL, Oracle,
and SQL Server.
21Ability to Monitor Performance
- Microsoft IIS uses Performance Monitor, a program
that comes with Windows Server 2003 and Windows
2000 Server, to monitor performance. - Other utility programs are Microsoft Web Capacity
Analysis Tool (WCAT) and Server Check Pro by
NetMechanic.
22Web Server Protocols
- HTTP and TCP/IP are the two main protocols used
with Web servers. - HTTP methods used for browser requests are GET,
POST, HEAD, PUT, and DELETE. - The most frequently used method is GET, which
requests files from the Web server. - A dialog is a series of commands from the sender
to the receiver and replies from the receiver to
the sender.
23Starting and Using Apache
- You can start Apache from the Windows Start menu
or from a Command Prompt window. - If you start Apache from a Command Prompt window,
you can see error messages if they arise. - The home page of your Apache Web Server can be
accessed from another computer on your local area
network. - Follow the instructions to start and use Apache
shown on pages 145 and 146.
24Apache Log Files
- You can look at the log files that Apache
generates to help troubleshoot problems with the
Web site. - The two log files provided by Apache are the
error log file and the access log file
(access.log). - Figure 3-17 shows a snapshot of the access log,
which includes many GET methods where clients
have requested Web pages.
25Apache Log Files (Continued)
26Examining E-Mail Client and Server Software
- Figure 3-18 shows the journey made by an e-mail
message and the protocols that control the
different parts of the journey. - The senders computer and e-mail server both use
SMTP (Simple Mail Transfer Protocol) to send an
e-mail message to its destination. - After the message arrives at the destination
e-mail server, it remains there until the
recipient requests delivery.
27Examining E-Mail Client and Server Software
(Continued)
- The recipients e-mail server uses one of two
protocols to deliver the message POP (Post
Office Protocol) or IMAP4 (Internet Message
Access Protocol, version 4). - Internet protocols are described and defined in
an RFC (Request for Comments) sent to the
Internet development community. - When e-mail experts speak of error messages
created during e-mail transactions, they
sometimes call these messages 822 messages.
28Managing Your E-Mail Clients
- E-mail client software communicates with an
e-mail server when it sends and receives e-mail. - Some of the most common e-mail clients are
Eudora, Outlook Express, Outlook, and Pegasus
Mail. - When you configure your e-mail client software
for the first time, you need to enter the
addresses of your e-mail servers.
29How E-Mail Clients and Servers Interact
- The three e-mail protocols are SMTP, POP, and
IMAP. - The goal is to prepare you to respond to e-mail
errors by understanding the source of the error
and what you must do to resolve it.
30SMTP
- SMTP is the protocol used to send e-mail over the
Internet. - SMTP is typical of many client/server protocols
in the TCP/IP protocol suite in that
character-based commands are issued from the
client and the server replies with numeric codes. - An SMTP transaction begins when an e-mail client
program sends an e-mail message to a recipient. - Table 3-3 shows one example of an SMTP dialog
between servers.
31SMTP (Continued)
- SMTP is considered a stateful protocol because it
can recognize and interpret the nature of the
material being sent, such as commands or data. - In contrast, TCP is considered a stateless
protocol because it is not concerned with what is
being sent. - TCP establishes the session but does not
interpret the transmissions that occur during the
session.
32POP
- POP is used when a client downloads its e-mail
messages from a server. - First, the client sends the user ID and password
to the server. - The server verifies that the user has an e-mail
account with the server. - Then a session is established between the client
and the server.
33POP (Continued)
- Next, transactions occur as the client requests
the mail, and then the session is closed. - This process contains three states
- Authentication
- Transaction
- Update
34IMAP
- IMAP is expected to replace POP because it offers
these additional functions - Messages can be archived in folders on the
server. - Mailboxes can be shared, so multiple users can
access the same mail. - Users can easily access multiple mail servers.
- Users can choose to read only the header
information about an attached file without
opening the file. - Attached files need not be downloaded with every
message.
35E-Mail Server Software
- An ISP or large business using the Internet or
having an intranet is responsible for providing
an e-mail server for its subscribers or
employees. - E-mail servers most likely are installed on UNIX,
Linux, Windows 2000 Server, or Windows Server
2003.
36Microsoft Exchange Server
- Protocols supported by Exchange Server include
HTTP, MAPI, POP3, IMAP4, and NNTP protocols. - NNTP (Network News Transfer Protocol) is the
protocol used by newsgroups. - MAPI (Messaging Application Programming
Interface) is a specification that allows an
application to interact with an e-mail client to
send and receive e-mail. - Microsoft Exchange Server supports hot backups
and dynamic rerouting.
37IBM Lotus Domino
- Lotus Domino by IBM is designed for large
companies and ISPs. - It can be run on a variety of server platforms,
such as Windows NT Server, Windows 2000 Server,
Windows Server 2003, Sun Solaris, IBM OS/400, and
several flavors of Linux. - Domino provides a useful feature that allows
administrators to remotely manage the e-mail
server from the Web browser on any computer in
their network.
38Novell GroupWise
- This product is designed for medium to large
companies running NetWare or Windows Server
platforms. - To run GroupWise, you must set up Novell
Directory Services.
39E-Mail Client Support for HTML
- For most of the time e-mail has existed, e-mail
messages have consisted of text only. - Recently, HTML e-mail has become very popular.
- Eudora, Outlook Express, and Outlook clients now
support HTML in the body of e-mail messages.
40Using FTP to Transfer Files
- Web servers (using HTTP) and e-mail software
(using SMTP) must encode data so it appears as
text when it travels over the Internet. - FTP (File Transfer Protocol) offers an
alternative. - FTP can transfer binary files over the Internet
without the encoding and decoding overhead,
making it a popular protocol for moving files
over the Internet. - An FTP site is a computer running an FTP server
application.
41Using FTP to Transfer Files (Continued)
- Large organizations might maintain several FTP
sites in different parts of the world to speed up
download time across the globe. - These are called mirror sites.
- A mirror site is a server that contains the same
set of files as a heavily used server to off-load
some of the burden of providing the files to the
community using them. - Mirror sites also serve as a backup for the main
server in case the main server fails.
42How FTP Works
- An FTP server identifies users on an FTP site by
their user IDs. - FTP client and server software create a session
after you are logged on. - The FTP client has access to the file system on
the server. - The local computer (the client) issues
character-like commands, and the remote computer
(the server) replies with numbers that are
interpreted by the local computer.
43FTP Via a Web Browser
- Have you ever attempted to download software from
a Web site and clicked a hyperlink that says
Click here to download now or a similar
message? - If you carefully note the URL after you click to
download the software, you will see that the
protocol changes from http// to ftp// in the
Web browsers Address box.
44FTP from a Command Prompt
- Most operating systems, including Windows 9x,
Windows NT, Windows 2000, and Windows XP, offer
FTP client software that runs from a command
prompt. - A batch file is a file with a .bat file extension
that contains a list of DOS-like commands that
can be executed as a group.
45FTP from a Command Prompt (Continued)
- Another protocol similar to FTP is TFTP (Trivial
FTP). - TFTP has fewer commands than FTP and can be used
only to send and receive files. - It can be used for multicasting in which a file
is sent to more than one client at the same time
using the UDP (User Datagram Protocol).
46Initiating and Using Telnet Sessions
- A Telnet window on a computer is a command window
to a remote computer in which any command can be
executed just as though the user were sitting at
the computer console. - Telnet is a protocol used to pass commands and
replies between the client the the UNIX computer. - All UNIX systems support some form of Telnet.
47Subscribing to and Using Newsgroups
- A newsgroup is a service on the Internet or
private network where a group of people can post
articles and responses to those articles so
information can be shared among the members of
the group. - A newsgroup uses NNTP.
- This protocol works much like SMTP, whereby
commands are issued from the client or requesting
server as character-based words followed by
arguments, and replies come from the news server
in the form of numeric codes followed by
descriptive text.
48Understanding Gophers and Gopher Space
- A gopher is a distribution service for text files
on the Internet that runs on a UNIX computer
using the Gopher protocol. - A gopher service runs on a UNIX computer,
tracking the documents available on the server in
the form of a hierarchical site menu called
gopher space. - When you access the service, you can browse the
gopher space by searching these top-down lists.
49Summary
- A server can be software that provides a service
to other software or the computer on which the
server software is running. - TCP creates sessions that application protocols,
such as HTTP and FTP, can use. - Apache Web Server by the Apache Software
Foundation is a common Web server that runs on a
UNIX or Windows platform. - Protocol dialogs can be used to troubleshoot
problems with servers.
50Summary (Continued)
- E-mail uses SMTP to send text messages over the
Internet and uses POP or IMAP when an e-mail
client requests messages stored on its e-mail
server. - FTP sites can be accessed by client software,
such as Web browsers, operating system command
utilities, or GUI software dedicated to FTP, such
as WS_FTP Pro. - FTP also can be accessed from a command prompt.
- News servers work by getting news articles from
other news servers.