Transcript Document

Computer Communication &
Networks
Lecture 28
Application Layer: HTTP & WWW
http://web.uettaxila.edu.pk/CMS/coeCCNbsSp09/index.as
p
Waleed Ejaz
[email protected]
1
Application Layer
2
Application Layer Topics to
Cover
DNS
Electronic Mail
File Transfer
HTTP, WWW
3
Web and HTTP
4
Web and HTTP
•
•
•
•
•
First some jargon
Web page consists of objects
Object can be HTML file, JPEG image, Java
applet, audio file,…
Web page consists of base HTML-file which
includes several referenced objects
Each object is addressable by a URL
Example URL:
www.someschool.edu/someDept/pic.gi
f
path name
host name
5
Uniform Resource
Locator
6
HTTP overview
HTTP: hypertext
transfer protocol
• Web’s application layer
protocol
• client/server model
o client: browser that
requests, receives,
“displays” Web objects
o server: Web server
sends objects in
response to requests
• HTTP 1.0: RFC 1945
• HTTP 1.1: RFC 2068
HTTP request
PC running
Explorer HTTP response
HTTP request
Server
HTTP response running
Apache Web
server
Mac running
Navigator
7
HTTP overview (continued)
Uses TCP:
• client initiates TCP
connection (creates
socket) to server, port 80
• server accepts TCP
connection from client
• HTTP messages
(application-layer
protocol messages)
exchanged between
browser (HTTP client)
and Web server (HTTP
server)
• TCP connection closed
HTTP is “stateless”
• server maintains no
information about past
client requests
aside
Protocols that maintain “state”
are complex!
• past history (state) must
be maintained
• if server/client crashes,
their views of “state” may
be inconsistent, must be
reconciled
8
HTTP connections
Nonpersistent HTTP Persistent HTTP
• At most one object is • Multiple objects can be
sent over single TCP
sent over a TCP
connection between
connection.
client and server.
• HTTP/1.0 uses
• HTTP/1.1 uses
nonpersistent HTTP
persistent connections
in default mode
9
Nonpersistent HTTP
(contains text,
references to 10
jpeg images)
www.someSchool.edu/someDepartment/home.inde
Suppose user enters URL
1a. HTTP client initiates TCP
x
connection to HTTP server
(process) at www.someSchool.edu
on port 80
2. HTTP client sends HTTP
request message (containing
URL) into TCP connection
socket. Message indicates that
client wants object
someDepartment/home.index
time
1b. HTTP server at host
www.someSchool.edu waiting for
TCP connection at port 80.
“accepts” connection, notifying
client
3. HTTP server receives request
message, forms response
message containing requested
object, and sends message into
its socket
10
Nonpersistent HTTP (cont.)
4. HTTP server closes TCP
connection.
5. HTTP client receives
response message
containing html file,
displays html. Parsing html
time
file, finds 10 referenced
jpeg objects
6. Steps 1-5 repeated for each of
10 jpeg objects
11
Response time modeling
Definition of RTT: time for a
small packet to travel from
client to server and back.
initiate TCP
Response time:
connection
• one RTT to initiate TCP
RTT
connection
request
file
• one RTT for HTTP
RTT
request and first few
bytes of HTTP response
file
to return
received
• file transmission time
time
total = 2RTT+transmit time
time to
transmit
file
time
12
Persistent HTTP
Persistent without pipelining:
• client issues new request
only when previous response
requires 2 RTTs per object
has been received
OS must work and
• one RTT for each referenced
allocate host resources for
object
Persistent with pipelining:
each TCP connection
• default in HTTP/1.1
but browsers often open
• client sends requests as soon
parallel TCP connections
as it encounters a referenced
to fetch referenced objects
object
Persistent HTTP
• as little as one RTT for all the
server leaves connection
referenced objects
Nonpersistent HTTP
issues:
•
•
•
•
open after sending
response
• subsequent HTTP
messages between same
client/server are sent over
connection
13
Web caches (proxy server)
Goal: satisfy client request without involving origin server
• user sets browser:
Web accesses via
cache
• browser sends all
HTTP requests to
cache
object in cache: cache
returns object
o else cache requests
object from origin
server, then returns
object to client
o
origin
server
Proxy
server
HTTP request
HTTP request
client
HTTP response
HTTP response
HTTP request
HTTP response
client
origin
server
14
More about Web caching
• Cache acts as both
client and server
• Typically cache is
installed by ISP
(university, company,
residential ISP)
Why Web caching?
• Reduce response time for
client request.
• Reduce traffic on an
institution’s access link.
• Internet dense with caches
enables “poor” content
providers to effectively
deliver content (but so does
P2P file sharing)
15
16
Quiz Retake
•
•
•
What are the key differences between FTP and HTTP? [2]
Consider an HTTP client that wants to retrieve a Web document at a
given URL. The IP address of the HTTP server is initially unknown. The
Web document at the URL has one embedded GIF image that resides at
the same server as the original document. What transport and application
layer protocols besides HTTP are needed in this scenario? [3]
Suppose within your Web browser you click on a link to obtain a Web
page. The IP address for the associated URL is not cached in your local
host, so a DNS look-up is necessary to obtain the IP address. Suppose
that n DNS servers are visited before your host receives the IP address
from DNS; the successive visits incur an RTT of RTT1, … RTTn. Further
suppose that the Web page is an HTML text file and four additional
objects. Let RTT0 denote a RTT between the local host and the server
containing the object. Assuming zero transmission time of the object, how
much time elapses from when the client clicks on the link until the client
receives the entire Web page? Assume a non-persistent HTTP protocol
with no parallel TCP connections. [4]
17