the world wide web. web growth web server statistics apache is the most popular web server today...

36
The World Wide Web

Upload: edwin-greer

Post on 03-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

The World Wide Web

Page 2: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Web Growth

Page 3: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Web Server Statistics

• Apache is the most popular web server today (freely available)

• Microsoft IIS is gaining ground

Page 4: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

The World Wide Web: A Brief History

Page 5: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Vannevar Bush 1945

Page 6: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

MEMory EXtender system

• Problem: – Bush was concerned about “new knowledge

not reaching the people who would benefit from it”

Page 7: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

MEMory EXtender system

• Store publications, correspondence, and personal work on microfilm

• Items retrieved rapidly using index codes

• Can annotate text with margin notes, comments

• Can construct a trail through the material and save it

• Acts as an external memory

Page 8: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

MEMory EXtender system limitations

• Basic unit of content is an image page– No links to/from sub-text

• No digital content– No keyword search, only

TOC/index codes

• No networking– No rapid info sharing

Page 9: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Results

• The MEMory EXtender system was the inspiration for the creators of hypertext and the web

Page 10: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Marshall McLuhan 1964 – Hypertext Coined

McLuhan is known for coining the expressions the medium is the message and the global village, and for predicting the World Wide Web almost thirty years before it was invented

Page 11: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Tim Berners-Lee invents Global Hypertext WWW 1991

Sir Timothy John "Tim" Berners-Lee is an English computer scientist known as the inventor of the World Wide Web. He made a proposal for an information management system in March 1989, and on 25 December 1990, with the help of Robert Cailliau and a young student at CERN, he implemented the first successful communication between a Hypertext Transfer Protocol (HTTP) client and server via the Internet. By the mid 1990s, the World Wide Web had replaced Mark P. McCahill's Gopher protocol as the dominant Internet protocol.Berners-Lee is the director of the World Wide Web Consortium (W3C), which oversees the Web's continued development. He is also the founder of the World Wide Web Foundation, and is a senior researcher and holder of the Founders Chair at the MIT Computer Science and Artificial Intelligence Laboratory (CSAIL). He is a director of the Web Science Research Initiative (WSRI),and a member of the advisory board of the MIT Center for Collective Intelligence.

Page 12: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

World First Browser and Web page.

3

Page 13: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Then…4

Page 14: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

What has happened through the years?

• Appearance of JavaScript (JS) in Late 1995.• Standardization of HTML in Jan 1997.• Introduction of Cascading Style Sheet

(CSS) in 1998.• Document Object Model (DOM) was

standardized in End of 1998. Begin to be working in 2001.

• AJAX (Widely used by Google in 2004).

5

Page 15: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Web Architecture

6

Page 16: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

The World Wide Web: HTTP Protocol

Page 17: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Both were invented at the same time by the same person

HTTP vs HTML

• HTML: hypertext markup language– Definitions of tags that are added to Web documents

to control their appearance

• HTTP: hypertext transfer protocol– The rules governing the conversation between a Web

client and a Web server

Page 18: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

What is a protocol?

• In diplomatic circles, a protocol is the set of rules governing a conversation between people

• We have seen that the client and server carry on a machine-to-machine conversation

• A network protocol is the set of rules governing a conversation between a client and a server

• There are many protocols, HTTP is just one

Page 19: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

• I would like to open a connection

• GET <file location>

• Display response• Close connection

• OK

• Send page or error message

• OK

Client Server

HTTP is the set of rules governing the format and content of the conversation between a Web client and server

An HTTP conversation

Page 20: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

An HTTP example

The message requesting a Web page must begin with the work “GET” and be followed by a space and the location of a file on the server, like this:

GET /fac/lpress/shortbio.htm

The protocol spells out the exact message format, so any Web client can retrieve pages from any Web server.

Page 21: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Network protocols

• The details are only important to developers.• The rules are defined by the inventor of the

protocol – may be a group or a single person.• The rules must be precise and complete so

programmers can write programs that work with other programs.

• The rules are often published as an RFC along with running client and server programs.

• The HTTP protocol used for Web applications was invented by Tim Berners Lee.

RFC = request for comments

Page 22: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Tim Berners-Lee

Tim Berners-Lee was knighted by Queen Elizabeth for his invention of the World Wide Web. He is shown here, along with the first picture posted on the Web and a screen shot from an early version of his Web browser.

Page 23: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

HTTP is an application layer protocol

• The Web client and the Web server are application programs• Application layer programs do useful work like retrieving Web pages,

sending and receiving email or transferring files• Lower layers take care of the communication details• The client and server send messages and data without knowing

anything about the communication network

Page 24: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

The application layer is boss – the top layer

• Your boss says: Send this package to Miami -- I don't care if you use Federal Express, UPS, or any other means. Also, let me know when it arrives or if it cannot be delivered for some reason.

• The application program says: Send this request to the server -- I don't care how you do it or whether it goes over phone lines, radio, or anything else about the details. Just send the message, and let me know when it arrives or if it cannot be delivered for some reason.

Layer Function

Application Do useful work like Web browsing, email, and file transfer

Lower layers Handle communication between the client and server

There are five TCP/IP layers, the application layer and four lower layers.

Page 25: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Many application layer protocols are used on the Internet, HTTP is only one

Protocol Application

HTTP: Hypertext Transfer Retrieve and view Web pages

FTP: File TransferCopy files from client to server or from server to client

SMTP: Simple Mail Transport

Send email

POP: Post Office Read email

Page 26: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

The TCP/IP protocol layers

Application

Transport

Internet

Data link

Physical

Get useful work done – retrieve Web pages, copy files, send and receive email, etc.

Make client-server connections and optionally control transmission speed, check for errors, etc.

Route packets between networks

Route data packets within the local area network

Specify what medium connects two nodes, how binary ones and zeros are differentiated, etc,

The application program is king – it gets work done using the lower level layers for communication between the client and server.

Page 27: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

HTTP Operations

• GET: retrieves URL (most widely used)

• HEAD: retrieves only response header

• POST: posts data to server

• PUT: puts page on server

• DELETE: deletes page from server

Page 28: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Simple HTTP Request and Reply

Request:GET http://www.server.com/page.html HTTP/1.0

Response:HTTP-Version: HTTP/1.0 200 OKContent-Length: 3012Content-Type: text/html<body>

Page 29: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

HTTP 1.0

• Client opens a separate TCP connection for each requested object

• Object is served and connection is closed• Advantages

– maximum concurrency

• Limitations– TCP connection setup/tear-down overhead– TCP slow start overhead

Page 30: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

HTTP 1.0

Client Server

ACK, GET www.cs.uiuc.eduRetrieve DataFrom Disk

Retrieve ImageFrom Disk

SYN

SYN, ACK

connect()

close()connect()

ACK, GET image.gif

SYN

SYN, ACK

close()

write()

write()

Page 31: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

HTTP 1.1

Client Server

ACK, GET www.cs.uiuc.eduRetrieve DataFrom Disk

Retrieve ImageFrom Disk

SYN

SYN, ACK

connect()

GET image.gif

close()

write()

write()

Page 32: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Server Side Close()

Client Server

ACK, GET www.cs.uiuc.eduRetrieve DataFrom Disk

Retrieve ImageFrom Disk

SYN

SYN, ACK

connect()

GET image.gif

write()

write()

Timeout! close()

Set timeout

Resettimeout

Page 33: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Dynamic Content

• Web pages can be created as requests arrive• Advantages

– Personalization (e.g., my.yahoo.com),– interaction with client input– interaction with back-end applications

• Disadvantages– Performance penalty

• Generating dynamic content (CGI, ASP, PHP, ColdFusion, JavaScript, Flash, …)

Page 34: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

CGI Scripts

• CGI scripts are URLs with a .cgi extension• The script is a program (e.g., C, JAVA, …)• When the URL is requested, server invokes the

named script, passing to it client info• Script outputs HTML page to standard output

(redirected to server)• Server sends page to client

Page 35: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

CGI Execution

ServerCGI

Script

fork()

Send page

Request Response

Page 36: The World Wide Web. Web Growth Web Server Statistics Apache is the most popular web server today (freely available) Microsoft IIS is gaining ground

Active Server Pages (ASPs)

• Active server pages are HTML documents with extensions for embedded program execution

• When request arrives, server fetches and parses the HTML document

• Server executes embedded executable code and plugs output into page

• Expanded page is sent to client