www.csudh.edu

Download Report

Transcript www.csudh.edu

How Clients and Servers
Work Together
Objectives
• 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
2
Understanding 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.
3
User Interfaces: GUI Versus CommandDriven
• In a command-driven interface, you type
commands into a user interface to perform a task and
achieve a desired result.
• A graphical user interface (GUI) has icons or
menus that you can select to perform a function or
run a program.
4
User Interfaces: GUI Versus CommandDriven (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.
5
Client/Server Sessions
• TCP (Transmission
Control Protocol)
manages the threeway handshake that
establishes a
session to be used
by application
protocols, such as
HTTP or FTP.
6
Tracking 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.
7
All-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.
8
Exploring 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)
9
Ability 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.
10
Ability to Support Virtual Servers and
Virtual Hosts (Continued)
11
Protocols 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.
12
Access Control
• Based on the user’s 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 user’s 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.
13
Access Control (Continued)
14
Encrypting 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.
15
Chroot 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.
16
Server 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.
17
Standard CGI-Based Scripts
• Common Gateway Interface (CGI) is the set of
specifications that defines how a Web server passes
a Web user’s 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.
18
Server-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.
19
Database 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.
20
Ability 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.
21
Web 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.
22
Starting 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.
23
Apache 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.
24
Apache Log Files (Continued)
25
Examining E-Mail Client and Server
Software
• The sender’s 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.
• The recipient’s e-mail server uses one of two
protocols to deliver the message: POP (Post Office
Protocol) or IMAP4 (Internet Message Access
Protocol, version 4).
26
Examining E-Mail Client and Server
Software (Continued)
• 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.
27
Managing 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.
• The three e-mail protocols are SMTP, POP, and IMAP.
28
SMTP
• 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.
29
SMTP (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.
30
POP
• 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.
31
POP (Continued)
• Next, transactions occur as the client requests the
mail, and then the session is closed.
• This process contains three states:
– Authentication
– Transaction
– Update
32
IMAP
• 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.
33
E-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.
34
Microsoft 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.
35
IBM 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.
36
Novell 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.
37
E-Mail Client Support for HTML
• For most of the time e-mail has existed, email 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 email messages.
38
Using 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.
39
Using 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.
40
How 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.
41
FTP Via a Web Browser
• Download software from a Web site
• The protocol changes from http:// to ftp:// in
the Web browser’s Address box.
42
FTP 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.
43
FTP 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).
44
Initiating 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.
45
Subscribing 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.
46
Understanding 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.
47