Web Server
Web Server
Web Server
Objectives
After completing this lesson, you should
be able to do the following
Discuss about web’s roots.
In this lecture we will discuss the web technology is providing an effective way to automate a
number of business tasks and processes within the enterprise for use in intranets. The web is
probably the most interesting use of truly distributed client/server technology available
today. There are many different web server programs available. These servers are called
HTTP daemon, or HTTP servers. The most prominent ones are available from the national
center for supercomputing applications and CERN and Netscape Communications
Corporation.
Web’s Roots
Work on Web technology took place in the late 1980s as a way to simplify and systematic
access to Internet-resident information.
In 1989, Tim Berners-Lee and Robert Calliau created the World Wide Web (also known as the
Web, or W3) at CERN’s Internet facility. The project was to be used as a means of
transporting research and ideas effectively throughout the CERN organization. It merged the
technologies of information retrieval and hypertext to make an easy but powerful global
information system. This idea not only worked for the benefit of all. The Web is now the
newest medium of expression. Its growth rate has been phenomenal.
The project’s goal has been and continues to be to build a distributed hypermedia system.
The Web is distributed, interactive, and dynamic.
The technology consists of client/server software that can understand many information
retrieval protocols in use on the Internet (FTP, TELNET, NNTP, WAIS, Gopher, Finger,
Rlogin etc.), as well as the data formats of those protocols (ASCII,GIF, Postscript, WAV,
MPEG, etc.), and can provide a single, consistent, user interface to them all. This makes the
technology of interest not only for the Internet but also for intranets applications.
The WWW is based on a client/server model where the client and server work
independently of the other, both in a technological sense and in an administrative sense. The
Web is made up of the client/ server, the URL, and protocols that HTML-based documents.
There are a number of reasons for setting up a Webserver, even for companies not interested
in the Internet. A Web server can handle many of the same operations as Lotus Notes; both
allow the user to share information with widespread access. The difference lies in where the
information is kept. With Lotus Notes, an organization must copy documents to a central
repository; however, when using a Web server anyone can access the information from
anywhere within a company. The World Wide Web can also allow a company to do away
with traditional distributed databases, which carry a costly overhead. The Web gives a
company the ability to incorporate graphics and audio.
Web Servers
A server is the basic part that differentiates a provider from a user. To provide information
on the web you must either have your own server or rent space on a server. The most
common platforms used are Microsoft Windows, UNIX, VMS, and Macintosh.
Each platform has a number of programs available to set up a server using different versions
of HTTP. Since the server and client run independently, the server can provide information
to other clients and servers on different platforms. Each platform and software has its
advantages and disadvantages. For a small provider, however, whichever system is currently
being used is usually efficient.
NCSA HTTPD was the most popular and widely used server in a recent survey. The poll
surveyed 1722 servers. Of those surveyed, 54 percent stated they use a form of the NCSA
HTTPD. This survey corresponds to what newsgroups on the Internet had already
Been reporting for sometime. NCSA HTTPD has different versions for Windows and UNIX.
NCSA is a widely supported server on the Internet; therefore it is easy to gain information
and expert help when working with the NCSA server. There are a number of experts that
deal with only NCSA HTTPD, which is not the case with CERN. Another advantage to using
NCSA is that it works well with other applications running on the same computer because it
is native to the UNIX system. Some applications that coincide with HTTPD are Gopher,
WAIS, and list servers. The third advantage is that it also integrates well with Perl, a
programming language used with most CGI. Since Perl was developed to work with UNIX-
based systems, NCSA and CGI work well together.
Operating
system Program FTP availability
UNIX NCSA httpd Ftp.ncsa.uiuc.edu:/web/ncsa_httpd(free)
CERN httpd http://info.cern.ch/hypertext/WWW/daemon/Status.html (available from other
sources, also, free)
GN http://hopf.math.nwu.edu/
Gopher/HT
TP server
Perl(plexus) http://bsdi.com/server/doc/plexus.html
VMS CERN HTTP http://delonline.cern.ch/disk$user/duns/doc/vms/
distribution.html (free)
Region 6 http://kcgll.eng.ohio-state.edu/ww/doc/
threaded serverinfo.html
HTTP server
Microsoft NCSA httpd ftp://ftp.ncsa.uiuc.edu/web/ncsa_httpd/
windows contrib./whtp11ab6.zip(free)
and HTTPS ftp://emwac.edu.ac.uk/pub/https
windows NT SerWeb ftp://winftp.cica.indiana.edu:/pub/pc/
sever win3/winsock/serweb03.zip
Macintosh MacHTTP http://ww.uth.tmc.edu/mac_info/
machttp_info.html(shareware)
NCSA HTTPD for Windows is easy to set up and use. Therefore it makes a good server for
first-time users to learn the basics of HTTP. It is beneficial for someone who wants to learn by
setting up a small system before developing one for a large organization. There are some
disadvantages with this server. When running on Windows, it is slower than most servers.
NCSA also requires lots of memory and CPU power. NCSA does not have the capability to
run as an HTTP proxy client server. NCSA has proved to be a powerful server for UNIX
platforms, but is somewhat weak for Windows users.
The second most popular server in the aforementioned survey was CERN HTTP. CERN was
developed for use on VMS. Although CERN will run on UNIX, it is not recommended.
Configuration and setup is more difficult than NCSA for Windows, but it is no harder to
learn than NCSA for Unix. This platform has the ability to serve as a proxy server, which
requires less software to access the web. It also has a scripting language that works well with
CGI. It is accessible from the Internet for free, as are most servers.
MacHTTP is one of the few servers available for Macintosh computers. MacHTTP requires a
minimum of System 7 and MacTCP to support advanced features. It is a small program that
allows almost anyone to establish a server and effectively experiment with the HTTP
protocol. This makes it a popular server for first-time and small providers. This server does
not have a large handling capacity like NCSA, therefore it is not recommended for large
corporations. However, some people have been able to get around this by networking a
number of computers, each of which runs a subset of the entire HTML document list from a
separate server.
Command
and Control
Simple Network
Management Protocol
Support
Electronic
commerce Server
Development technology Security
Modules
Application
interface HTTP
Security
server
Frame
Conferencing
Work
engine
Common
Database Gateway
search Interface
Existing
scripts
The data types and their quantities will affect the amount of disk space and maintenance
required. If a company plans to distribute only text files, then the space requirement could be
small. To utilize graphics or video, the data space will increase rapidly. How you decide to
store the data types will affect the amount of CPU that is required. For example, if a company
is providing access to a database, the CPU will use numerous resources to fulfill the requests.
However, if you are simply providing lists of information via different links, the CPU
requires many fewer resources.
The operating system that a company decides to use will influence the steps they need to
take. Companies that have been using UNIX and are putting up a large server should have
few problems. However, if a company is entering into Internet technology for the first time, it
may be appropriate to hire a technical expert to determine the best equipment and to help
install and maintain the server. On the other hand, a person who wishes to experiment on a
hobby basis should not be discouraged from installing and running his or her own server.
The best way to set up the server us by starting from source code, so that the organization
knows the system. However, you can also install a server with a precompiled binary
software. Configuring a server can be done in a number of different ways, but there are some
things that should be included in every server. For example, a server should be designed in a
way that makes it easy to expand and up date as needs change. Therefore, it is a good idea to
keep everything in one place in a tree structure so the information can be easily expanded or
moved.
As mentioned earlier, there are a number of different protocols that the WWW can access.
Each of these protocols has a special function. File transfer is the ability to transfer and locate
information that is placed in a public domain. As the Internet grew, so did the needs of the
users. Eventually this evolved into new services, such as electronic mail and bulletin boards.
These services helped to encourage the growth of the Internet even more. Research then
focused on ways to provide services on a higher level.
The basic advantage of using a Web server over another server is the language it supports
and the ability to access many different places on the Internet from a single location. The
Web server supports HTML, which allows for a variety of ways to provide information. With
a Gopher server the user can access information only in textual format ad from lists. The Web
server allows the user to insert links, graphics and sound, thereby making it more appealing
and easier for people to use. Another advantage is the Web server’s ability to allow links,
which makes the server easier to maintain.
Transport Issues
HTTP is only a mechanism between sources and typically uses TCP/IP as a transport layer.
HTTP allows the client to send a request for a hypertext document, then retrieves any items
associated with the document. A user will often request a hypertext link to follow, which is
often directed at the same server. TCP is the medium that establishes and transports this three-
way handshake between the client and server.
TCP transfers the data in a series of PDUs. Every PDU of information does not have to be
acknowledged before sending another packet. This form of control may seem to result in
errors. There is a system that TCP uses, called slow start, to avoid/alleviate the errors. Slow
start opens another window on the server side that keeps track of all received data. This
window is opened every time a segment is received, and when a segment is not
acknowledged the window is closed. When a window closes, TCP halts the data until the
window receives the request it missed.
Analysis shows that HTTP spends more time waiting than receiving or sending data. HTTP is
hindered by Slow Start because the URL is often longer than the maximum segment size.
HTTP cannot respond until the entire URL has been received, which results in a delay
between the initial request and the moment when information is sent. HTTP is also required
to hold open resources for every connection that is established in a four-minute period. This
level of resources is another major factor in the slowness of HTTP.
There are two main factors that affect the performance of a protocol the latency and
bandwidth. Latency is a measure of the fixed overhead of a transition and does not change as
documents get bigger or smaller. Bandwidth measures how long it takes to send data, this
being the message length divided by the channel bandwidth. Bandwidth availability at the
metropolitan and wide area level is being improved as time goes by. Faster modems and
ISDN are two of the many ways that are increasing the speed of access; higher-speed facilities
are also being introduced in the backbone. Unfortunately, reducing the amount of
propagation delay is generally impossible. Therefore, latency due to propagation can become
the dominating factor in some environments.
To combat the problems that have become associated with the early versions of http, a new
improved version of HTTP has been proposed. Some has called the new version HTTP-NG.
One of the main differences between HTTP and HTTP-NG will be the basic model each uses
when connecting. HTTP requires each request to open a new connection; each
hyperlink/URL needs a separate TCP connection. HTTP –NG will allow multiple requests to
be processed on one connection, thus increasing the speed of the transmission.
Web Access
Getting connected to the World Wide Web is relatively easy. There are actually a number of
different ways to go about getting connected to the web. However, if you want to take
advantage of everything on the web, then you need three things: a late-model computer, a
minimum 14.4-Kbps modem, and access to a graphical web browser. You can get a free copy
of the Netscape browser by contacting Netscape’s home page.
An alternate way is to connect to a web browser called Lynx, which allows access to the web
on a strictly textual basis. If you only want to see what is on the web without waiting for all
the graphics, then Lynx is a possible way to become connected. All you need is an internet
connection. If the internet service provider has Lynx, then you are ready to browse. However
if the service does not offer Lynx, a user can get there from a number of sites that have Lynx
available to the public. One place to try is www.law.cornell.edu. Because Lynx is a text-based
browser, the user will miss out on the “real excitement of the web”. Graphics range from full-
color pictures to simple drawings scanned into home pages. A user will also miss out on the
numerous audio clips available.
Gaining access to the graphics and audio clips requires better equipment, and this calls for
more expensive equipment. This calls for more expensive equipment. This is not to say that it
is difficult to get connected. In most cases, if users have a 486 IBM- compatible computer or a
recent Performa or Power PC, they basically have everything they need. The only thing
missing is a browser. Today there are literally thousands of Internet services that offer a
complete package that allows to the web and other parts of the Internet. Many companies
offer a free trial period.
All services have one thing in common: the way in which the connection is achieved. To be
able to connect to the World Wide Web, a SLIP/PPP account must be account must be
accessed. This account will allow the graphical browser software to access the hypertext
documents on the Web. You can get a connection to a SLIP/PPP account without paying for
on-line services. However, full access to the web in this case does require locating and
installing a lot of software programs on your own.
The world wide web offers different things to different people and, depending on how much
the user wants to do, determines the amount of equipment, time, and money it will take.
Whether you wish to browse and enjoy the scenery or provide information to develop the
growth of a company, the world wide web has something for everyone. For the most part it is
easy to access and get your own site. Those who are not computer –knowledgeable can hire a
company to put their information on the web. Or those who want to explore and try
something new, there are programs designed for the beginner.
Connection Modes
There are several ways to connect to the Internet. You can dial up one of the commercial on-
line services such as America Online, CompuServe, or Prodigy. Or, if you prefer, you can dial
up an Internet service provider. If you are connected to a LAN, you need a network
configuration program. On the other hand, if you calling an internet service provider to
establish a SLIP or PPP connection, you need a dialer. In either case, you need additional
tools to use the internet once you are connected.
To take full advantage of the internet, you need a number of pieces of software, a Winsock
DLL, a Web browser, an e-mail reader, a newsgroup reader, an ftp client, and perhaps a
gopher client and some other search tools.
In order to publish web pages on the Internet, it is desirable to have a dedicated computer
that runs web service. In addition to the web server, a reasonably fast dedicated connection to
the Internet is necessary. To be connected to the Internet, web servers can use TCP/IP over
Ethernet. Web servers can also be installed on computers running multiuser operating
systems such as Windows NT, Unix, or OS/2. In the past, web server technology was
available only on a few platforms: Unix, Macintosh, VM, and VMS. Today, the platforms
available also include, but are not limited to, OS/2, Windows NT, and windows. These
systems can be set up to protect certain files from unauthorized access. Web servers can log
activity such as the IP address, time, and request made for every connection. It is good
practice to keep the logging on a computer separate from the Internet firewall computer. For
some Internet web sites, the logging is kept on a machine separate from the web server and
from the Internet firewall machine. Servers can forward requests for information that neither
the client nor the server can access directly to applications called gateways, described in the
next paragraph. Gateway support, logging, and user authentication are important features to
look for when selecting a web server; logging is needed for both usage statistics and security.
The person who administers the web server has come to be known as the Webmaster.
The web server waits for requests to come from browsers. When a request is made, the server
locates the document and sends it back to the browser that originally requested it. Some
requests may actually make the server run a script or program. These programs are called
gateway scripts. The formal standard for these scripts is the CGI. A plain HTML document
that the web server retrieves is static it is a text file that does not change. A CGI program is
executed in real time, so it can output dynamic information.
Short Summary
A server is the basic part that differentiates a provider from a user. To provide information
on the web you must either have your own server or rent space on a server.
There are several ways to connect to the Internet. You can dial up one of the commercial on-
line services such as America Online, CompuServe, or Prodigy.
Latency is a measure of the fixed overhead of a transition and does not change as documents
get bigger or smaller.
Bandwidth measures how long it takes to send data, this being the message length divided by
the channel bandwidth.
Brain Storm