Unit_1
Unit_1
Unit_1
Introduction and Web Development Strategies, History of Web and Internet, Protocols
Governing Web, Writing Web Projects, Connecting to Internet, Introduction to Internet
services and tools, Introduction to client-server computing
Introduction
Web technology refers to the means by which computers communicate with each other using
markup languages and multimedia packages. It gives us a way to interact with hosted
information, like websites. Web technology involves the use of hypertext markup language
(HTML) and cascading style sheets (CSS).
The methods by which computers communicate with each other through the use of markup
languages and multimedia packages is known as web technology.
Web technology is the development of the mechanism that allows two of more computer
devices to communicate over a network. For instance, in a typical office setting, a number of
computers plus additional devices such as printers may be interconnected via a network,
allowing for quick and convenient transmission of information. The processes involved in web
technology are complex and diverse, which is why major businesses employ whole departments
to deal with the issue. Web technology has revolutionized communication methods and has
made operations far more efficient.
A lot has changed in the way people access the web. Years ago, people could only access the web on
their desktops and laptops, but these days people have smart phones, tablets and other smart mobile
devices. Web developers now have to change the way they develop websites in order to accommodate
these changes, and to ensure that everyone gets what they are looking for online, irrespective of the
device they are using. There are so many challenges that web developers have to face every day as they
try to accommodate different users, and some of the strategies explained here can help in ensuring that
their projects are a success.
1. Strategy for Responsive web design:
Web developers should now focus on creating just one design, but one that is compatible with
multiple devices. This way, regardless of the type of device that is accessing the website, users
will be able to see the same content in the same way.
2. Strategy of Software Prototyping Development:
In order to get it right, you can try to test your design using figure that are available to you.
The World Wide Web (WWW) is an information space where documents and other web
resources are identified by Uniform Resource Locators (URLs), interlinked by hypertext links,
and accessible via the Internet.
English scientist Tim Berners-Lee invented the World Wide Web in 1989.
He wrote the first web browser in 1990 while employed at CERN in Switzerland.[2][3] The
browser was released outside CERN in 1991, first to other research institutions starting in
January 1991 and to the general public on the Internet in August 1991.
In 1993, there are only about 50 websites world wide. A browser that allowed user to
take advantage of the web’s graphical capabilities was developed at the National center
for Super Computing application (NCSA). NCSA called the browser Mosaic.
WWW provides a hypertext-hypermedia interface to information resources in the Internet. So,
WWW is a distributed hypermedia system.
WWW is an application of Internet
The World-Wide Web (WWW) is a service, an application of Internet.
It is based on the Internet infrastructure. So the WWW is newer than the Internet.
The World Wide Web uses three protocols:
HTML (Hypertext markup language) – HTML is used to describe the content of web pages
in the WWW.
HTTP (Hypertext Transfer Protocol ) - Although other protocols can be used such as FTP,
this is the most common protocol. It was developed specifically for the World Wide Web and
favored for its simplicity and speed. This protocol requests the 'HTML' document from the
server and serves it to the browser.
www.someschool.edu/someDept/pic.gif
2: Application Layer 21
HTTP overview
HTTP: hypertext
transfer protocol
Web’s application layer PC running
protocol Explorer
client/server model
client: browser that
requests, receives, Server
“displays” Web objects running
Apache Web
server: Web server
server
sends objects in
response to requests
Mac running
Navigator
2: Application Layer 22
2: Application Layer 23
HTTP connections
Nonpersistent HTTP Persistent HTTP
At most one object is Multiple objects can
sent over a TCP be sent over single
connection. TCP connection
between client and
server.
2: Application Layer 24
request line
(GET, POST, GET /somedir/page.html HTTP/1.1
HEAD commands) Host: www.someschool.edu
User-agent: Mozilla/4.0
header Connection: close
lines Accept-language:fr
Carriage return,
line feed (extra carriage return, line feed)
indicates end
of message
2: Application Layer 29
HTTP response message
status line
(protocol
status code HTTP/1.1 200 OK
status phrase) Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
header
Last-Modified: Mon, 22 Jun 1998 …...
lines
Content-Length: 6821
Content-Type: text/html
2: Application Layer 33
HTTP response status codes
In first line in server->client response message.
A few sample codes:
200 OK
request succeeded, requested object later in this message
301 Moved Permanently
requested object moved, new location specified later in
this message (Location:)
400 Bad Request
request message not understood by server
404 Not Found
requested document not found on this server
505 HTTP Version Not Supported
2: Application Layer 34
URLS (Uniform resource locator) - The last part of the puzzle required to allow the web to
work is a URL. This is the address which indicates where any given document lives on the web.
It can be defined as <protocol>://<node>/<location> .
A brief history of the Internet: Internet is made up of thousand and thousands of interconnected
networks. Although it has become extremely popular in the last decade, it came into being only in
1969.
ARPANET: In the mid 1960s, the Advanced Research Projects Agency (ARPA) in the US Department
of Defence (DoD) wanted to find a way to connect computers so that their funded researchers could
share their findings. In 1967, ARPA proposed its idea for ARPANET, a small network for connecting
computers.
Birth of Internet and TCP/IP
In 1972, Vint Cerf and Bob Kahn, who were part of core ARPANET group, started Internetting
Project with the aim to connect different networks together. Diverse interfaces, different packet
sizes, diverse transmission rates presented many difficulties. Kahn Cerf proposed the idea of
gateway as an intermediate hardware to transfer data from one network to another.
In 1973, they presented a landmark paper outlining the protocols for end-to-end
communication. This paper on TCP/IP included concepts like datagram, gateway, and
encapsulation. At this time, responsibility of ARPANET was handed to Defence
Communication Agency (DCA).
Came 1977 and communication between networks was made possible. Internet consisting of
three different networks, namely, ARPANET, packet radio, and packet satellite was now
possible.
In 1978 noticing the popularity of BSD (Berkley Software Distribution) UNIX, which included
network capabilities, ARPA signed a contract with Berkley under which TCP/IP software was
incorporated in the operating system itself.
In 1983 original ARPANET protocols were abolished and TCP/IP was made de facto standard
for Internet.
Time Line
1969 Four-node ARPA established
1972 Internetting Project begins
1973 Development of TCP/IP suite begins.
1977 An Internet tested using TCP/IP to TCP/IP
1978 UNIX distributed to universities
1983 TCP/IP became the official protocol for ARPANET.
Internet is a globally connected network system that uses TCP/IP model to transmit data via
various types of media.
Internet Infrastructure
The Internet backbone is made up of many large networks, which interconnect with each other. These large
networks are known as Network Service Providers or NSPs. These networks peer with each other to exchange
packet traffic. Each NSP is required to connect to Network Access Points or NAPs. At the NAPs, packet traffic
may jump from one NSP's backbone to another NSP's backbone. NSPs also interconnect at Metropolitan Area
Exchanges or MAEs. MAEs serve the same purpose as the NAPs but are privately owned. NAPs were the
original Internet interconnects points. Both NAPs and MAEs are referred to as Internet Exchange Points or IXs.
NSPs also sell bandwidth to smaller networks, such as ISPs and smaller bandwidth providers. Below is a picture
showing this hierarchical infrastructure.
Classification:
a. HTTP
b. TCP/IP
c. FTP
d. E-MAIL
e. TELNET
FTP: the file transfer protocol
2: Application Layer 46
messages SMTP
client: sending mail mail user
agent
server server
“server”: receiving mail
user
server agent
user
agent
2: Application Layer 51
Electronic Mail: SMTP [RFC 2821]
2: Application Layer 52
1 mail
mail
server user
user server
2 agent
agent 3 6
4 5
2: Application Layer 53
TELNET
Connecting to Internet
Every computer connected to the Internet has a unique address. Let's say your IP address is 1.2.3.4 and
you want to send a message to the computer with the IP address 5.6.7.8. The message you want to send
is "Hello computer 5.6.7.8” . Let's say you've dialed into your ISP from home and the message must be
transmitted over the phone line. Therefore the message must be translated from alphabetic text into
electronic signals, transmitted over the Internet, and then translated back into alphabetic text. How is
this accomplished? Through the use of a protocol stack. Every computer needs one to communicate on
the Internet and it is usually built into the computer's operating system (i.e. Windows, Unix, etc.). The
protocol stack used on the Internet is refered to as the TCP/IP protocol stack.
If we were to follow the path that the message "Hello computer 5.6.7.8" took from our computer to the
computer with IP address 5.6.7.8, it would happen something like this:
1. The message would start at the top of the protocol stack on your computer and work it's way
downward.
2. If the message to be sent is long, each stack layer that the message passes through may break
the message up into smaller chunks of data. This is because data sent over the Internet (and
most computer networks) are sent in
3. manageable chunks. On the Internet, these chunks of data are known as packets.
4. The packets would go through the Application Layer and continue to the TCP layer. Each
packet is assigned a port number, which is used by program on the destination computer to
receive the message because it will be listening on a specific port.
5. After going through the TCP layer, the packets proceed to the IP layer. This is where each
packet receives it's destination address, 5.6.7.8.
6. Now that our message packets have a port number and an IP address, they are ready to be sent
over the Internet. The hardware layer takes care of turning our packets containing the alphabetic
text of our message into electronic signals and transmitting them over the phone line.
7. On the other end of the phone line your ISP has a direct connection to the Internet. The ISPs
router examines the destination address in each packet and determines where to send it. Often,
the packet's next stop is another router. More on routers and Internet infrastructure later.
8. Eventually, the packets reach computer 5.6.7.8. Here, the packets start at the bottom of the
destination computer's TCP/IP stack and work upwards.
9. As the packets go upwards through the stack, all routing data that the sending computer's stack
added (such as IP address and port number) is stripped from the packets.
10. When the data reaches the top of the stack, the packets have been re-assembled into their
original form, "Hello computer 5.6.7.8!"
2: Application Layer 62
DNS
DNS services Why not centralize DNS?
hostname to IP single point of failure
address translation traffic volume
host aliasing distant centralized
Canonical, alias names database
mail server aliasing maintenance
load distribution
replicated Web doesn’t scale!
servers: set of IP
addresses for one
canonical name
2: Application Layer 63
messages SMTP
client: sending mail mail user
agent
server server
“server”: receiving mail
user
server agent
user
agent
2: Application Layer 51
2: Application Layer 52
Scenario: Alice sends message to Bob
1) Alice uses UA to compose 4) SMTP client sends Alice’s
message and “to” message over the TCP
[email protected] connection
2) Alice’s UA sends message 5) Bob’s mail server places the
to her mail server; message message in Bob’s mailbox
placed in message queue 6) Bob invokes his user agent
3) Client side of SMTP opens to read message
TCP connection with Bob’s
mail server
1 mail
mail
server user
user server
2 agent
agent 3 6
4 5
2: Application Layer 53
The newsgroups are really meant fro interaction of people who share your interests. You can post your
own questions as well as your answers to the questions of others, on the Usenet. One thing, which is
worth mentioning here, is that when one is interacting wit people on Internet certain mannerism should
be adopted. These rules are sometimes called “netiquette”. In a face-to-face conversation you can
always see a person’s facial gestures and hand movements and can ascertain whether he is teasing or is
being sarcastic or sometimes even lying. However, in on-line interaction one cannot see the person one
is interacting with. The rules of netiquette may help to compensate some of these limitations of this on-
line environment.
FTP:
2: Application Layer 46
FTP: separate control, data connections
TCP control connection
FTP client contacts FTP server port 21
at port 21, TCP is transport
protocol TCP data connection
client authorized over control FTP port 20 FTP
connection client server
client browses remote
server opens another TCP
directory by sending commands
data connection to transfer
over control connection.
another file.
when server receives file
control connection: “out of
transfer command, server
band”
opens 2nd TCP connection (for
file) to client FTP server maintains “state”:
current directory, earlier
after transferring one file,
authentication
server closes data connection.
2: Application Layer 47
FTP only understands two basic file formats. It classifies each file either as a text file or a binary file. A
text file contains a sequence of characters collected into lines. Although computers used ASCII
encoding for text files, FTP includes commands to translate between ASCII and other character
encoding. FTP uses the classification
binary file for all nontext files. The user must specify binary for any file that contains:
o A computer program
o Audio data
o A graphic or video image
o A spreadsheet
o A document from a word processor
o A compressed file
FTP service compress files to reduce the total amount of disk space the files require. Before
transferring a file user must tell FTP that the file contains ASCII text or nontext file. FTP assumes to
perform ASCII transfers unless the user enters the binary command.
Telnet
TELNET stands for TErminal NETwork. Telnet is both a TCP/IP application and a protocol for
connecting a local computer to a remote computer. Telnet is a program that allows an Internet host
computer to become a terminal of another host on the Internet. Telnet is the Internet remote login
service. Telnet protocol specifies exactly how a remote login interacts. The standard specifies how to
client contacts the server and how the server encodes output for transmission to the client. To use the
Telnet service, one must invoke the local application program and specify a remote machine. The local
program becomes a client, which forms a connection to a server on the remote computer. The client
passes keystrokes and mouse movements to the remote machine and displays output from the remote
machine on the user’s display screen. Telnet provides direct access to various services on Internet.
Some of these services are available on your host, but Telnet is especially useful when these services
are not available on your host.
Search Engines:
Search Engines are programs that search the web. Web is a big graph with the pages being the
nodes and hyperlinks being the arcs. Search engines collect all the hyperlinks on each page they
read, remove all the ones that have already been processed and save the rest.
The Web is then searched breadth-first, i.e. each link on page is followed and all the hyperlinks
on all the pages pointed to are collected but they are not traced in the order obtained.
Automated search is the service that is provided by Search engines. An automated search
service allows an individual to find information that resides on remote computers. Automated
search systems use computer programs to find web pages that contain information related to a
given topic.
It allows to locate:
i. Web pages associated with a particular company or individual
ii. Web pages that contain information about a particular product.
iii. Web pages that contain information about a particular topic.
The results of an automated search can be used immediately or stored in a file on disk to use it
later. The results of a search are returned in the form of a web page that has a link to each of the
items that was found. Automated search is helpful when a user wants to explore a new topic.
The automated search produces a list of candidate pages that may contain information. The user
reviews each page in the list to see whether the contents are related to topic or not. If so, the
user records the location or if not user moves on to the page in the list.
Web Browser
A Web browser is software program that allows you to easily display Web pages and navigate the Web.
The first graphical browser, Mosaic, was developed in Illinois at the National Center for
Supercomputing Applications (NCSA). Each browser displays Web-formatted documents a little
differently. As with all commercial software, every program has its own special features.
What Is A Client/Server?
Client
A client is a single-user workstation that provides presentation services, database services and
connectivity along with an interface for user interaction to acquire business needs.
Server
A server is one or more multi-user processors with a higher capacity of shared memory which provides
connectivity and the database services along with interfaces relevant to the business procedures.
The protocol relies on the basis of request serving; request for services by clients; response of
processed results by the server. The communication between the two aspects is gained through
InterProcess communication (IPC) which facilitates the distributed placement of the client and server
procedures.
The Client/Server model is basically platform independent and blends with “cooperating processing” or
“peer-to-peer” model. The platform provides the opportunity for users to access the business
functionality thereby exposing into risky situations since its transparent to the underlying technology
aswell as to the user.
Resource sharing: A server is eligible of handling clients simultaneously, controlling the service
access for the resources.
Advantages
Improved Data Sharing: Data is retained by usual business processes and manipulated on a server is
available for designated users (clients) over an authorized access. The use of Structured Query
Language (SQL) supports open access from all client aspects and also transparency in network services
depict that similar data is being shared among users.
Integration of Services: Every client is given the opportunity to access corporate information via the
desktop interface eliminating the necessity to log into a terminal mode or another processor. Desktop
tools like spreadsheet, power point presentations etc can be used to deal with corporate data with the
help of database and application servers resident on the network to produce meaningful information.
Shared Resources amongst Different Platforms: Applications used for client/server model is built
regardless of the hardware platform or technical background of the entitled software (Operating System
S/W) providing an open computing environment, enforcing users to obtain the services of clients and
servers (database, application, communication servers).
Inter-Operation of Data: All development tools used for client/server applications access the back-
end database server through SQL, an industry-standard data definition and access language, helpful for
consistent management of corporate data. Advanced database products enable user/application to gain a
merged view of corporate data dispersed over several platforms. Rather than a single target platform
this ensures database integrity with the ability to perform updates on multiple locations enforcing
quality recital and recovery.
Data Processing capability despite the location: We are in an era which undergoes a transformation
of machine-centered systems to user-centered systems. Machine-centered systems like mainframe,
mini-micro applications had unique access platforms and functionality keys, navigation options,
performance and security were all visible. Through client/server users can directly log into a system
despite of the location or technology of the processors.
Easy maintenance: Since client/server architecture is a distributed model representing dispersed
responsibilities among independent computers integrated across a network, it’s an advantage in terms
of maintenance. It’s easy to replace, repair, upgrade and relocate a server while clients remain
unaffected. This unawareness of change is called as encapsulation.
Security: Servers have better control access and resources to ensure that only authorized clients can
access or manipulate data and server-updates are administered effectively.