Side_1_360

(Dana P.) #1
page. The links at the pages are said to use
hypertext.

The client is located at the user. The browser
fetches the page requested, interprets the text
and formatting commands that it contains, and
displays the page to the user. Pages may contain
text, images, sound or video tracks, etc. The
browser may be assisted by a helper application
to be run with the page as input. Some helper
applications contain interpreters for particular
languages, enabling downloading and running
programs from WWW pages.

The way a browser fetches a page on a server is
to establish a TCP connection to the server and
then send a request on that connection.

An illustration of the protocols is given in Figure


  1. Depending on the medium and traffic flows,
    other protocols could also be involved.


Every WWW server has a process listening to
TCP port 80 for incoming connections from
clients (browsers). After a TCP connection has
been established the server receives the request
and a response is sent. This is usually done by
the HyperText Transfer Protocol (HTTP). An
address of the page is commonly in a Uniform
Resource Locator (URL) format. One example is
http://www.telenor.com/Telektronikk/TraffEng.
html. This consists of three parts: httpthe name
of the protocol; http://www.telenor.comthe server
where the page is located; and Telektronikk/
TraffEng.htmlbeing the name of the file contain-
ing the page (in case the file name is omitted, a
default file is assumed, like index.html). This
shows that the user has to know where the page
is located; that is the server name. To support
referencing to pages without knowing their loca-
tion (as well as supporting replication) work on
Universal Resource Identifiers (URIs) has been
undertaken.

The DNS is used for translating the server name
to the corresponding IP address. This allows the

browser/client to establish a TCP connection on
port 80 to the proper server. Then an HTTP mes-
sage ‘Get’ is sent identifying the file (Telektron-
ikk/TraffEng.htmlin the example above). The
server returns this file and the TCP connection is
released. The browser displays the information
in the page. Several TCP connections may be
established to fetch different parts of the page,
like a text frame, an image frame, and so forth.

WWW pages are written in a language called
HyperText Markup Language (HTML), includ-
ing text, images, links to other pages, etc. By
HTML can be described a “static” layout of
WWW pages. Java can be applied in order to
allow for more rapid interactions. Java borrows
many ideas from C and C++ languages, although
it is not fully compatible with any of them. The
main idea is that a page can point to a Java pro-
gram called an applet. When the browser re-
ceives it, the applet is placed on a client machine
and executed. This allows for animation and
sound as well as simplifying forms, and so forth.
The applets developer writes the applet in Java
and then compiles it into byte code. Then the
browser needs to understand the applet and a
byte code interpreter is needed in the client sys-
tem. Such an interpreter may also be called a
Java virtual machine. Thus, if a new data format
is stored at a site, the only thing needed for
someone to download and view the data is to
also fetch the applet allowing the client to view
the data. This may also go for protocols, which
can be written in the Java language and loaded
dynamically when needed.

Plug-ins are dynamically loaded code modules
that become part of the browser’s code. This is a
flexible way to add functionality to a browser.
Some plug-ins are placed in a special directory
into which the browser looks. However, plug-ins
can also be downloaded from a server when
needed. Each plug-in commonly handles a few
document types. This means that the plug-in is
not using memory as long as no document of
that type has been loaded.

A complete screen as observed by a user may
consist of a number of pages so the browser may
decide the sequence of fetching such pages. Text
pages can normally be downloaded quite rapid-
ly, also keeping the user occupied, while the
more data voluminous pages are transferred, like
images. Thus the user may also decide to abort
the transmission if the information already avail-
able does not warrant the wait for the rest of the
information. To support this, most browsers
have a status line displaying which step they are
currently in.

Some browsers support the use of local disk to
cache pages that have been fetched. Then, before

Figure 23 Some protocols
used for Web surfing


Web
server

Web
client

HTTP HTTP

TCP TCP

IP IP

lower
layers

lower
layers
Free download pdf