©2017 Gilbert Ndjatou Page 1
2. Internet Applications An internet application consists of two or more programs that run on different hosts and communicate
with one another over the network.
Examples of Internet Applications:
The Web application consists of :
The browser program running in the user’s host (desktop, laptop, PDA, cell phone), and
The Web server program running on a computer called Web server host.
A Pier-to-Pier file sharing system consists of a program running in each host that participates in the
file-sharing community. The program in the various hosts may be similar or identical.
Network Application Architectures
A network application architecture is a design that dictates how an application is structured over the
various hosts.
Two predominant network application architectures are used on modern network:
The client-server architecture, and
The peer-to-peer (P2P) architecture.
Client-Server Architecture
In a client-server architecture, there is:
A server-class computer called server (or server host) that is always on, and
One or more standard computers called clients (or client hosts).
The server host services requests from client hosts.
Examples of applications with client-server architectures are:
the web application,
the FTP application,
Telnet, and
the email application.
For the web application, the web server services requests from browsers running on client hosts.
When a web server receives a request for an object from a client host (browser), it responds by sending
the requested object to the client host.
©2017 Gilbert Ndjatou Page 2
Notes:
With a client-server architecture,
clients do not directly communicate with each other,
the server has a fixed, well known IP address , and
a client can always contact the server by sending a packet to the server’s IP address.
Server-Class Computers
Server-class computers are in general computers with:
Large memories
Fast CPUs, and
Powerful and special operating systems that are referred to as server operating systems.
Examples of Server Operating Systems are:
Windows Server 2016, Windows Server 2012, and Window Server 2008.
Versions of UNIX such Solaris and BSD (Berkeley Software Distribution) UNIX.
Linux distributions such as Ubuntu, Fedora, and Red Hat.
Note:
Popular client-server applications are:
search engines (e.g. Google),
Internet commerce (e.g. Amazon and e-Bay),
Web-based email (e.g. Yahoo Mail),
social networking (e.g. MySpace and Facebook), and
video sharing (e.g. YouTube)
These client-server applications are infrastructure intensive and costly to provide because:
they require the service provider to install and maintain server farms, and
to pay recurring interconnection and bandwidth costs for sending and receiving data to and from the
Internet.
©2017 Gilbert Ndjatou Page 3
The server Bottleneck Problem
A server host can run multiple server processes, each for a particular service.
However, as the number of clients increases, the server (or the access network leading to the server)
quickly becomes a bottleneck, especially if each client downloads many bytes of content.
There is a server bottleneck problem when a server host is incapable of keeping up with all the requests
from its clients.
This problem is considered to be one of the most important limitations on Internet services.
The following technologies have been suggested for dealing with this problem:
Content caching (Akamai)
Web load balancers
Server virtualization, and
Distributed data centers and replication
Content Caching (Akamai)
This technology is about caching (saving) web content.
ISPs often have a cache memory that keeps a copy of each static web page (that means a web page for
which the content does not change rapidly) after it has been requested for the first time so that any
subsequent request of that web page is delivered from the cache memory.
A distributed caching service is an extension of the content caching that is offered by companies such
as Akamai as follows:
Akamai has a set of servers located throughout the Internet, and
An organization can contract with Akamai to preload the Akamai caches with content
Visitors to the organization’s web site obtain much of the content from a nearby Akamai cache rather
than from the organization’s central server.
As a result, load on the central server is reduced.
©2017 Gilbert Ndjatou Page 4
Web Load Balancers and Data Centers
One of the mechanisms used to construct a large web site is known as load balancer. (page 581).
A load balancer is a device that allows a company to replace a single server with a data center that
contains multiple computers, each running an identical copy of a web server.
To ensure that all servers return the same answer to a request, the servers use a common, shared database
system.
The load balancer distributes incoming requests among the physical servers as follows:
It examines each incoming HTTP request and sends the request to one of the servers.
It remembers recent requests and directs all requests from a given source to the same physical server.
Server Virtualization
Sites that run multiple servers (e.g. an email server, web server, and a database server) usually run two or
more of these servers on the same physical computer.
A performance problem may arise in these sites because the servers running on computer A may be all
busy, whereas those running on computer B are idle.
Virtualization systems solve this problem as follows:
Each server is run on a Virtual Machine (VM) system (that supports VM migration) on a physical
computer, and
If a given physical computer becomes overwhelmed, a manager migrates one or more VMs to other
physical computers.
Distributed Data Centers and Replication
A data center is a large cluster of server hosts that are used to handle large number of requests from the
clients.
With a distributed data centers, multiple data centers are placed in various geographic locations, and
When a user enters a request, it is directed to the closest data center.
©2017 Gilbert Ndjatou Page 5
Pier-to-Pier Architecture
In a Peer-to-peer (P2P) architecture, an application is based on direct communication between pairs of
interconnected hosts called peers.
Peers are desktops and laptops controlled by users.
They communicate without passing through a dedicated server.
A peer also makes a portion of its resources, such as processing power, disk storage or network
bandwidth, directly available to other network participants, without the need for central coordination by
servers.
Peers are both suppliers and consumers of resources, in contrast to the traditional client-server model in
which the consumption and supply of resources is divided.
Examples of applications that are based on P2P architecture are:
File distribution (e.g. BitTorrent)
File sharing (e.g. eMule and LimeWire)
Internet telephony (e.g. skype)
Notes:
1. Some applications have hybrid architectures: they combine both client-server and P2P architectures.
Example of applications with hybrid architectures:
For many instant messaging applications,
Servers are used to track the IP addresses of users, but
User-to-user messages are sent directly between user hosts without passing through the servers.
2. P2P architectures are also cost effective:
They do not require significant server infrastructure and server bandwidth.
3. However, future P2P applications face three major challenges:
Be ISP friendly:
Most ISP have been dimensioned for much more downstream than upstream traffic
But most P2P applications shift upstream traffic from servers to residential ISPs, thereby putting
significant stress on ISPs
Security:
P2P applications can be a challenge to secure because of their highly distributed and open nature.
Incentives: Their success depends on convincing users to volunteer their resources.
©2017 Gilbert Ndjatou Page 6
Processes Communication
An internet application consists of two or more programs in execution called processes.
Each process is identified on the computer where it is running by a number in the range 1-65535 called
its communication port.
However, communication ports below 1024 (0 to 1023) are already assigned to some well-known
processes.
They communicate with one another by using either
the UDP transport protocol or
the TCP transport protocol.
Data are sent and received between processes through a software interface called socket as follows:
When a process wants to send a message, it loads it on its socket
The protocol transportation software carries the message to the receiving host.
Once the message arrives at the destination host, it passes through the receiving process’s socket
which then acts on the message.
Sockets are implemented in most operating systems.
©2017 Gilbert Ndjatou Page 7
UDP Communication
In a UDP communication, processes communicate by sending and/or receiving packets from each other.
A process creates a UDP socket that it uses to send and/or receive packets from processes running on
other hosts.
The programmer should specify the communication port of the process when the socket is created.
This communication port is bound to the socket when it is created.
If the programmer does not specify a port number when a socket is created, one (in the range 1024 –
65535) will be automatically assigned by the transport layer.
In addition to the message that is being sent, a packet also includes the following information:
The IP address of the source host,
The communication port of the source process,
The IP address of the destination host, and
The communication port of the destination process.
When a packet arrives on a host, it uses the destination port number specified in the packet to figure out
which process should handle the packet.
Note:
Note that a UDP communication has the following characteristics:
No connection is established between the source process and the destination process.
packets take different routes to arrive at the destination host and
there is no guarantee that a packet will eventually be delivered to the destination process.
©2017 Gilbert Ndjatou Page 8
TCP Communication
A TCP application consists of the following:
A process known as server process running on a host, and
one or more other processes known as client processes running on other hosts.
Client processes communicate with the server process by using input/output data streams.
A TCP communication takes place as follows:
The server process must start first and does the following:
1. creates a socket and registers its communication port (the communication port must be specified
by the programmer).
2. It then uses the socket created in step 1 to listen for connections from client processes.
3. When a connection is accepted, it creates a TCP socket to send and/or receive messages from the
client process that initiated the connection.
4. In order to send messages to the client processes, it must bind to this socket an output data
stream, and
5. In order to receive messages from the client processes, it must bind to this socket an input data
stream.
A client process creates a TCP socket and uses it to initiate a TCP connection with the server
process by specifying the communication port of the server process.
After the connection is accepted it uses its socket to communicate with the socket created in the
server process as follows:
In order to send messages to the server process, it must bind to this socket an output data stream,
and
In order to receive messages from the server process, it must bind to this socket an input data
stream.
Note 1:
Messages that are written by the server process in its output data stream are read by client processes from
their input data streams in the same order.
Messages that are written by a client process to its output data stream are read by the server process from
its input data stream in the same order.
©2017 Gilbert Ndjatou Page 9
Note 2:
A client process is automatically assigned a port number by the transport protocol layer.
A TCP service model includes:
a connection-oriented service and
a reliable data transfer service.
Communication ports below 1024 (0 to 1023) are restricted for use by the server processes of well-
known services such as HTTP, FTP, SMTP, POP3, and telnet.
Some well-known services and their associated ports numbers are listed in the following table.
Application Application-Layer Protocol Underlying
Transport Protocol
Port
Number
File transfer FTP (file transfer protocol) TCP 21
Secured terminal access SSH (secure shell) TCP 22
Remote terminal access Telnet TCP 23
Electronic mail Simple Mail Transfer Protocol (SMTP) TCP 25
Web HyperText Transfer Protocol (HTTP) TCP 80
Electronic mail Post Office Protocol 3 (POP3) TCP 110
Multimedia communication SIP (Session Initiation Protocol) TCP/UDP proprietary
Routing protocol RIP (Routing Information Protocol) UDP 520
Name translation DNS UDP 53
The list of well-known port numbers is updated at the web site http:// www.iana.org.
©2017 Gilbert Ndjatou Page 10
Traditional Internet Applications
An Internet service is defined with the expectation that many programmers will create server software to
offer the service or client software to access the service.
The application-layer protocol is therefore documented independently of any implementation.
The specification must also be precise and unambiguous so that client and server applications can
interoperate correctly.
Application-layer protocols specify two aspects of interaction:
Data representation, and
Data transfer
Aspect of Interaction Description
Data Representation
Specifies the following:
Syntax of data items that are exchanged
Specific form used during transfer
Translation of integers, characters, and files sent between computers.
Data Transfer
Specifies the following:
How interactions between a client and the server should be done.
The syntax and the semantics of the messages
How errors in the transmission should be handled, and
How an interaction should be terminated.
©2017 Gilbert Ndjatou Page 11
Web Protocols
A website, or simply a site, is a collection of related web documents (also called HTML or XHTML
documents) and other resources that are published (or held) on at least one computer called web server.
Web documents and resources include the following:
graphics files,
images files,
videos files,
PDF documents, and
objects that perform complex tasks such as database lookup and web searches,
A web site is identified with a common domain name.
A web server runs a program called HTTP server which provides the web site functionality.
Examples of HTTP servers are:
the Apache Tomcat web server,
the Sun’s Java web server,
IBM WebSphere,
BEA WebLogic,
Macromedia’s JRun,
Caucho Resin, and
Jetty.
A web browser (commonly referred to as a browser) is a software application that receives HTML
documents from an HTTP server or from the local storage and displays the corresponding web pages.
A web page is a multimedia content that uses a combination of different content forms such as:
text,
audio,
images,
animations,
video, and
interactive content.
Any non-textual content on a web page is retrieved from a file or a database on the web server or is
created as the results of running a program.
Non-textual contents are inserted into a web page when it is created.
©2017 Gilbert Ndjatou Page 12
The most popular web browsers are:
Google Chrome,
Microsoft Edge (preceded by Internet Explorer),
Safari,
Opera and
Firefox.
As of 2016 end users can access websites on a range of devices, including desktop and laptop
computers, tablet computers, smartphones and smart TVs.
Three key protocol standards are used to specify the data representation and data transfer of the Web.
Standard Purpose
HyperText Markup Language (HTML) A representation standard used to specify the contents and
layout of a web page.
Uniform Resource Locator (URL) A representation standard that specifies the format and
meaning of a web page identifier.
Hypertex Transfer Protocol (HTTP) A transfer protocol that specifies how a browser interacts
with a web server to transfer data.
HyperText Markup Language
Hypertext Markup Language (HTML) is the standard markup language for creating web pages and
web applications.
Its latest version is HTML 5.1, and
Its standard is maintained by the World Wide Web Consortium (W3C).
An HTML document is a text file with filename extension .HTML.
Example: cs3380document.html
It consists of the text to be displayed on the corresponding web page with HTML elements embedded into
it.
HTML elements are the building blocks of HTML documents.
However, they are not displayed on web pages.
©2017 Gilbert Ndjatou Page 13
Some of the things that you can specify with HTML elements follow:
denote the structural semantics for text such as;
headings,
paragraphs,
lists,
links,
quotes,
tables, and
other items.
emphasize text such as:
boldface,
underline, or
italic.
describe the structure of a web page.
specify that objects such as:
images,
graphics, and
videos
be embedded into a web page.
write embedded programs in a scripting language such as:
JavaScript,
PHP, or
Python
which affect the behavior and the content of web pages.
specify that a program written in a language such as:
Java or
C#
be executed and that its output be imbedded into the web page.
©2017 Gilbert Ndjatou Page 14
HTML elements are written by using the start tag and the end tag.
The start tag consists of the name of the element in angle brackets.
Examples:
<p>,
<body>,
<head>,
<html>
An end tag consists of the name of the element preceded with a forward slash in angle brackets.
Examples:
</p>,
</body>,
</head>,
</html>
A start tag may also include an HTML attribute.
HTML attributes define desired behavior or indicate additional element properties.
They generally appear as: name-value pairs,
separated by =, and
are written within the start tag of an element, after the element's name as follows:
<tag attribute="value"> content to be modified by the tag </tag>
The value can be left unquoted if it doesn't include spaces (name=value), or
it can be quoted with single or double quotes (name='value' or name="value").
Example:
For example, the abbr element, which represents an abbreviation, expects a title attribute within its
opening tag.
This would be written as;
<abbr title="abbreviation"> abbr. </abbr>
<abbr id="anId" class="aClass" style="color:blue;" title="Hypertext Markup Language"> HTML </abbr>
Element (and attribute) names may be written in any combination of upper or lower case in HTML, but
must be in lower case in XHTML.
©2017 Gilbert Ndjatou Page 15
There are three types of HTML elements:
Void elements
Raw text elements, and
Normal elements
Void Elements
Void elements only have a start tag, which may contains HTML attributes.
They may not contain any children, such as text or other elements.
Often they are place holders for elements which reference external files, such as:
the image (<img />) element.
The attributes included in the element will then point to the external file in question.
Another example of a void element is the <link /> element, for which the syntax is
<link rel="stylesheet" href="fancy.css" type="text/css">
This <link /> element points the browser at a style sheet to use when presenting the HTML document
to the user.
Raw Elements
Raw text elements are constructed with:
a start tag (<tag>) marking the beginning of an element, which may incorporate any number of
HTML attributes;
some amount of text content, but no elements (all tags, apart from the applicable end tag, will be
interpreted as content);
an end tag, in which the element name is prefixed with a slash: </tag>.
In some versions of HTML, the end tag is optional for some elements.
The end tag is required in XHTML.
Examples:
<title> Favorite Books </title>
©2017 Gilbert Ndjatou Page 16
Normal Elements
Normal elements are constructed with:
a start tag (<tag>) marking the beginning of an element, which may incorporate any number of
HTML attributes;
some amount of content, including text and other elements;
an end tag, in which the element name is prefixed with a slash: </tag>.
Examples:
<body>
<h1>Favorite books</h1>
<p>These are a few of my favorite books.</p>
<h2>The Belgariad</h2>
<p>Five books by David and Leigh Eddings.</p>
<h2>The Hitchhiker’s Guide to the Galaxy</h2>
<p>A trilogy of five books by Douglas Adams.</p>
</body>
Examples of HTML Elements
Header of the HTML document: <head>...</head>.
The title element is included in the head element.
For example:
<head>
<title>The Title</title>
</head>
Headings:
HTML headings are defined with the <h1> to <h6> tags:
<h1>Heading level 1</h1>
<h2>Heading level 2</h2>
<h3>Heading level 3</h3>
<h4>Heading level 4</h4>
<h5>Heading level 5</h5>
<h6>Heading level 6</h6>
©2017 Gilbert Ndjatou Page 17
Paragraphs:
Paragraphs are specified in the p element <p> text </p>
Such as:
<p>Paragraph 1</p>
<p>Paragraph 2</p>
Line Breaks:
Line breaks are specified by using the void element br : <br>.
Example:
<p>This <br> is a paragraph <br> with <br> line breaks</p>
Comments:
<!-- This is a comment -->
Comments can help in the understanding of the markup and do not display in the webpage.
Link:
You specify a link by providing the URL of the object referenced as the value of the href attribute in the
<a> tag followed by the text of the link which is followed by the </a> tag.
Example:
<a href="https://www.wikipedia.org/"> A link to Wikipedia!</a>
Inputs:
There are many possible ways a user can give input/s like:
1 <input type="text" /> <!-- This is for text input-->
2 <input type="file" /> <!-- This is for uploading files-->
3 <input type="checkbox" /> <!-- This is for checkboxes -->
Document type declaration
HTML documents are required to start with a Document Type Declaration (informally, a "doctype").
In browsers, the doctype helps to define the rendering mode
In HTML5 the doctype declaration is: <!DOCTYPE html>
©2017 Gilbert Ndjatou Page 18
The main Element
The <main> element is used to denote the content of a webpage that relates to the central topic of that
page or application.
It should include content that is unique to that page and should not include content that is duplicated
across multiple webpages, such as headers, footers, and primary navigation elements.
The header Element
The HTML <header> element represents introductory content, typically a group of introductory or
navigational aids.
It may contain some heading elements but also other elements like a logo, a search form, an author name,
and so on.
HTML Document
An HTML document starts with the doctype declaration and,
It is specified between the <html> and the </html> tags.
It also consists of two parts:
The head that is specified between the <head> tag and the </head> tag, and
The body that is specified between the <body> tag and the </body> tag.
Example
<!DOCTYPE html>
<html>
<head>
<title>This is a title</title>
</head>
<body>
<p>Hello world!</p>
</body>
</html>
©2017 Gilbert Ndjatou Page 19
Notes:
The text between <html> and </html> describes the web page, and
the text between <body> and </body> is the visible page content.
The markup text <title>This is a title</title> defines the browser page title.
In this example the HTML headings may be presented as large text in a desktop browser, or
standard size text in bold in a mobile browser. In both cases the semantic information remains the
same - that the h1 and h2 elements represent headings.
<!doctype html>
<html lang="en">
<head>
<title>Favorite books</title>
</head>
<body>
<header>
<img src="logo.png" alt="Favorite books logo">
</header>
<main>
<h1>Favorite books</h1>
<p>These are a few of my favorite books.</p>
<h2>The Belgariad</h2>
<p>Five books by David and Leigh Eddings.</p>
<h2>The Hitchhiker’s Guide to the Galaxy</h2>
<p>A trilogy of five books by Douglas Adams.</p>
</main>
</body>
</html>
©2017 Gilbert Ndjatou Page 20
Uniform Resource Locator
Each document or service provided by a web server is identified by a Uniform Resource Locator
(URL).
An example of URL is: http://www.isoc.org/documents/downloads.html.
A URL is composed of two parts:
A scheme and
Its generic syntax.
Scheme of a URL
The scheme of a URL refers to the protocol that will be used in accessing the entity.
It is followed by a colon.
Examples of protocols are:
HTTP,
SMTP (Simple Mail Transfer Protocol) and
FTP (File Transfer Protocol).
Generic of a URL
The generic syntax of a URL depends on the scheme.
For an http request, it consists of:
The hostname (the name of the server holding the resource: e.g. www.isoc.org) followed by
The pathname of the resource. E.g. documents/downloads.html
The hostname is translated into an IP (Internet Protocol) address (e.g. 138.25.45.108) by a domain-
name system (DNS) server.
A domain-name system (DNS) server is a computer that maintains a database of hostnames and their
corresponding IP address.
The hostname can be followed by a colon (: ) and the port number on which the server is awaiting
requests (e.g. www.isoc.org:80).
Web servers typically await requests on port 80 by default.
However, many development web servers use a different port number, such as 8080.
To test web applications, you will often use your computer as the host.
This host is referred to using the reserved domain name localhost which translates to the IP address
127.0.0.1.
©2017 Gilbert Ndjatou Page 21
HyperText Transfer Protocol (HTTP)
The HyperText Transfer Protocol (HTTP) is used by web browsers to communicate with HTTP web
servers.
With HTTP, browsers and web servers can exchange information in a uniform and reliable manner as
follows:
for each service,
the web browser makes an HTTP request,
the server operates on the request, and then
responds to the web browser with HTML pages and possibly additional programs in the form of
ActiveX controls or Java applets.
Web Server Fundamental
The web browser and the HTTP web server are normally thought of as residing on separate platforms
connected to a common network.
But in some cases, they reside on the same platform.
HTTP enables web clients to request the delivery of documents from web servers.
It governs both the format of web addresses, and the way in which documents are exchanged.
The current version of HTTP is HTTP/1.1.
HTTP request can be made using a variety of methods, but the ones you will use most often are:
Get and
Post.
The method name tells the server the kind of request that is being made, and how the rest of the message
will be formatted.
©2017 Gilbert Ndjatou Page 22
A a GET request is a simple request for retrieval of a web page.
A POST request is a form filled in with data that is being sent back to a web server.
Anatomy of an HTTP GET request
A Get request contains the path to the source on the web server followed by the parameters.
Anatomy of an HTTP POST request
Post requests are used to make more complex requests on the server.
For instance, if a user has filled a form with multiple fields and the application wants to save all the form
data to the database. Then the form data will be sent to the server in a POST request body, which is also
known as Message body.
©2017 Gilbert Ndjatou Page 23
Domain Names
The Domain Name System (DNS) provides a service that maps human-readable symbolic names to IP
addresses.
For example: cs.wpunj.edu.
The Domain Name System does specify values for the most significant segment of a domain name
which is the segment to the far right.
Examples:
edu,
com,
org,
net,
uk,
fr,
aero,
biz, and
asia.
An organization applies for a name under one of the existing top-level domains and
Then chooses how many additional levels to add and the meaning of each.
Example 1:
Name applied under edu top-domain: wpunj
Additional levels: none
Hostname of a computer: cs.wpunj.edu
Example 2:
Name applied under com top-domain: cookies
Additional levels:
east-coast.cookies.com,
west-coast.cookies.com
Hostnames (domain names) of computers:
computer1.east-coast.cookies.com,
computer2.east-coast.cookies.com,
computer1.west-coast.cookies.com
©2017 Gilbert Ndjatou Page 24
Exercises
1. What is an internet application?
2. What is network application architecture?
3. What are the two predominant network application architectures?
4. Give a description of the client-server network application architecture.
5. Give a description of the peer-to-peer network application architecture.
6. What is the major advantage of the peer-to-peer network application architecture?
7. What are the major challenges of the peer-to-peer network application architecture?
8. Give an example of internet application that uses the hybrid architecture.
9. Give two examples of internet applications with the client-server application architecture.
10. Give two examples of internet application with the peer-to-peer application architecture.
11. What are the characteristics of a server-class computer/
12. Names three server operating systems.
13. What is the server bottleneck problem?
14. What are the technologies suggested to deal with the server bottleneck problem?
15. Give a description of each of the following technologies:
a. Content caching.
b. Distributed caching.
c. Load balancing
d. Server virtualization.
16. What is a distributed data center?
17. How is an internet process identified on the computer where it is running?
18. What is a communication port?
19. What the two communication protocols used on the Internet?
20. What is the software interface used by internet processes to send and receive data?
21. How are sockets used by internet processes to send and receive data?
22. What is the difference between a UDP and a TCP communication protocols?
23. What are the two basic communication paradigms used in the Internet?
24. When two applications communicate over the Internet, which one is the server?
25. What is the difference between a server and a server-class computer?
26. What two identifiers are used to specify a particular server?
27. What are the two key aspects of application protocols, and what does each include?
28. What is a web site?
29. What types of documents and resources are included in a web site?
30. Give an example of a HTTP server.
31. What is a web browser?
32. What is a web page?
33. Where does a web browser obtain non-textual contents that are inserted into a web page?
34. What are the three key protocol standards that are used to specify the data representation and data
transfer of the Web.
35. What is the purpose of each of the protocol standards in question 34?
36. What is the name of the organization that maintains the HTML standard?
37. What is an HTML document?
38. How do you know that a file is a web document?
39. Are HTML elements displayed on web pages?
40. What are the six things that you can use HTML elements to specify in a web document
©2017 Gilbert Ndjatou Page 25
41. Name two programming language that are used to write programs that are embedded in a web document?
42. Name two programming languages that are used to write programs that will be executed and their output
embedded into a web page.
43. Given the following URL: http://www.isoc.org:80/documents/downloads.html.
a. What is the protocol?
b. What is the name of the computer?
c. What is the port number?
d. What is the document pathname?
44. How does a browser know whether an HTTP request is syntactically incorrect or whether the referenced item
does not exists?
45. Can a browser use transfer protocols other than HTTP? Explain.
46. What is the structure of a web document?
47. What is the overall purpose of the Domain Name System?
48. A web server must have a domain name that begins with www.
49. A multi-national company can choose to divide its domain name hierarchy in such a way that the company has
a domain name server in Europe, one in Asia, and one in North America.
50. If a company moves its web server from computer x to computer y, the names of the two computers must
change.