0% found this document useful (0 votes)
17 views8 pages

Understanding HTTP and TCP Connections

Uploaded by

Luan Ruçi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views8 pages

Understanding HTTP and TCP Connections

Uploaded by

Luan Ruçi
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

HTTP and TCP

Carey Williamson
Department of Computer Science
University of Calgary
Network View: HTTP and TCP

 TCP is a connection-oriented protocol

SYN
Web Client SYN/ACK Web Server
GET URL ACK

YOUR DATA HERE

FIN FIN/ACK
ACK

2
Example Web Page

Harry Potter Movies


As you all know,
the new HP book [Link]
[Link] will be out in June
and then there will
be a new movie
shortly after that…
[Link]

“Harry Potter and


the Bathtub Ring”

3
C S
TCP SYN
G
[Link]
The “classic” approach
TCP FIN in HTTP/1.0 is to use one
TCP SYN HTTP request per TCP
connection, serially.
G
[Link]
TCP FIN
TCP SYN

G
[Link]
TCP FIN 4
C S Concurrent (parallel) TCP
TCP SYN connections can be used
to make things faster.
G C S C S
[Link]
S S
TCP FIN
G G
[Link] [Link]
F F

5
C S
TCP SYN
G
[Link]
The “persistent HTTP”
G approach can re-use the
[Link] same TCP connection for
Multiple HTTP transfers,
G one after another, serially.
[Link] Amortizes TCP overhead,
but maintains TCP state
longer at server.

Timeout

TCP FIN 6
C S
TCP SYN
G
[Link]
GG The “pipelining” feature
[Link] in HTTP/1.1 allows
requests to be issued
[Link] asynchronously on a
persistent connection.
Requests must be
processed in proper order.
Can do clever packaging.

Timeout

TCP FIN 7
Summary of Web and HTTP

 The major application on the Internet


— Majority of traffic is HTTP (or HTTP-related)
 Client/server model:
— Clients make requests, servers respond to them
— Done mostly in ASCII text (helps debugging!)
 Various headers and commands
— Too many to go into detail here
— Many web books/tutorials exist
(e.g., Krishnamurthy & Rexford 2001)

You might also like