DOC PREVIEW
CMU 15441 Computer Networking - Lecture

This preview shows page 1-2-3-4-5 out of 14 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 14 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

115-441 Computer NetworkingLecture 25 – The WebLecture 25: 4-20-2004 2Outline• HTTP intro and details• Persistent HTTP • HTTP caching• Content distribution networksLecture 25: 4-20-2004 3HTTP Basics• HTTP layered over bidirectional byte stream• Almost always TCP• Interaction• Client sends request to server, followed by response from server to client• Requests/responses are encoded in text• Stateless• Server maintains no information about past client requestsLecture 25: 4-20-2004 4How to Mark End of Message?• Size of message Æ Content-Length• Must know size of transfer in advance• Delimiter Æ MIME-style Content-Type• Server must “escape” delimiter in content• Close connection• Only server can do this2Lecture 25: 4-20-2004 5HTTP Request• Request line• Method• GET – return URI• HEAD – return headers only of GET response• POST – send data to the server (forms, etc.)• URL (relative)• E.g., /index.html• HTTP versionLecture 25: 4-20-2004 6HTTP Request (cont.)• Request headers• Authorization – authentication info• Acceptable document types/encodings• From – user email• If-Modified-Since• Referrer – what caused this page to be requested• User-Agent – client software• Blank-line• BodyLecture 25: 4-20-2004 7HTTP RequestLecture 25: 4-20-2004 8HTTP Request ExampleGET / HTTP/1.1Accept: */*Accept-Language: en-usAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)Host: www.intel-iris.netConnection: Keep-Alive3Lecture 25: 4-20-2004 9HTTP Response• Status-line• HTTP version• 3 digit response code• 1XX – informational• 2XX – success• 200 OK• 3XX – redirection• 301 Moved Permanently• 303 Moved Temporarily• 304 Not Modified• 4XX – client error• 404 Not Found• 5XX – server error• 505 HTTP Version Not Supported• Reason phraseLecture 25: 4-20-2004 10HTTP Response (cont.)• Headers• Location – for redirection• Server – server software• WWW-Authenticate – request for authentication• Allow – list of methods supported (get, head, etc)• Content-Encoding – E.g x-gzip• Content-Length• Content-Type• Expires• Last-Modified• Blank-line• BodyLecture 25: 4-20-2004 11HTTP Response ExampleHTTP/1.1 200 OKDate: Tue, 27 Mar 2001 03:49:38 GMTServer: Apache/1.3.14 (Unix) (Red-Hat/Linux) mod_ssl/2.7.1 OpenSSL/0.9.5a DAV/1.0.2 PHP/4.0.1pl2 mod_perl/1.24Last-Modified: Mon, 29 Jan 2001 17:54:18 GMTETag: "7a11f-10ed-3a75ae4a"Accept-Ranges: bytesContent-Length: 4333Keep-Alive: timeout=15, max=100Connection: Keep-AliveContent-Type: text/html…..Lecture 25: 4-20-2004 12Outline• HTTP intro and details• Persistent HTTP • HTTP caching• Content distribution networks4Lecture 25: 4-20-2004 13Typical Workload (Web Pages)• Multiple (typically small) objects per page • File sizes• Heavy-tailed• Pareto distribution for tail• Lognormal for body of distribution• Embedded references• Number of embedded objects = pareto – p(x) = akax-(a+1)Lecture 25: 4-20-2004 14HTTP 0.9/1.0• One request/response per TCP connection• Simple to implement• Disadvantages• Multiple connection setups Æ three-way handshake each time• Several extra round trips added to transfer• Multiple slow startsLecture 25: 4-20-2004 15Single Transfer ExampleClientServerSYNSYNSYNSYNACKACKACKACKACKDATDATDATDATFINACK0 RTT1 RTT2 RTT3 RTT4 RTTServer reads from diskFINServer reads from diskClient opens TCP connectionClient sends HTTP request for HTMLClient parses HTMLClient opens TCP connectionClient sends HTTP request for imageImage begins to arriveLecture 25: 4-20-2004 16More Problems• Short transfers are hard on TCP• Stuck in slow start• Loss recovery is poor when windows are small• Lots of extra connections• Increases server state/processing• Server also forced to keep TIME_WAIT connection state• Why must server keep these?• Tends to be an order of magnitude greater than # of active connections, why?5Lecture 25: 4-20-2004 17Persistent Connection Solution• Multiplex multiple transfers onto one TCP connection• How to identify requests/responses• Delimiter Æ Server must examine response for delimiter string• Content-length and delimiter Æ Must know size of transfer in advance• Block-based transmission Æ send in multiple length delimited blocks• Store-and-forward Æ wait for entire response and then use content-length• Solution Æ use existing methods and close connection otherwiseLecture 25: 4-20-2004 18Persistent Connection ExampleClientServerACKACKDATDATACK0 RTT1 RTT2 RTTServer reads from diskClient sends HTTP request for HTMLClient parses HTMLClient sends HTTP request for imageImage begins to arriveDATServer reads from diskDATLecture 25: 4-20-2004 19Persistent HTTPNonpersistent HTTP issues:• Requires 2 RTTs per object• OS must work and allocate host resources for each TCP connection• But browsers often open parallel TCP connections to fetch referenced objectsPersistent HTTP• Server leaves connection open after sending response• Subsequent HTTP messages between same client/server are sent over connectionPersistent without pipelining:• Client issues new request only when previous response has been received• One RTT for each referenced objectPersistent with pipelining:• Default in HTTP/1.1• Client sends requests as soon as it encounters a referenced object• As little as one RTT for all the referenced objectsLecture 25: 4-20-2004 20Outline• HTTP intro and details• Persistent HTTP • HTTP caching• Content distribution networks6Lecture 25: 4-20-2004 21HTTP Caching• Clients often cache documents• Challenge: update of documents• If-Modified-Since requests to check• HTTP 0.9/1.0 used just date• HTTP 1.1 has file signature as well• When/how often should the original be checked for changes?• Check every time?• Check each session? Day? Etc?• Use Expires header• If no Expires, often use Last-Modified as estimateLecture 25: 4-20-2004 22Example Cache Check RequestGET / HTTP/1.1Accept: */*Accept-Language: en-usAccept-Encoding: gzip, deflateIf-Modified-Since: Mon, 29 Jan 2001 17:54:18 GMTIf-None-Match: "7a11f-10ed-3a75ae4a"User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)Host: www.intel-iris.netConnection: Keep-AliveLecture 25: 4-20-2004 23Example Cache Check ResponseHTTP/1.1 304 Not ModifiedDate: Tue, 27 Mar 2001 03:50:51 GMTServer: Apache/1.3.14 (Unix)


View Full Document

CMU 15441 Computer Networking - Lecture

Documents in this Course
Lecture

Lecture

14 pages

Lecture

Lecture

19 pages

Lecture

Lecture

78 pages

Lecture

Lecture

35 pages

Lecture

Lecture

4 pages

Lecture

Lecture

4 pages

Lecture

Lecture

29 pages

Lecture

Lecture

52 pages

Lecture

Lecture

40 pages

Lecture

Lecture

44 pages

Lecture

Lecture

41 pages

Lecture

Lecture

38 pages

Lecture

Lecture

40 pages

Lecture

Lecture

13 pages

Lecture

Lecture

47 pages

Lecture

Lecture

49 pages

Lecture

Lecture

7 pages

Lecture

Lecture

18 pages

Lecture

Lecture

15 pages

Lecture

Lecture

74 pages

Lecture

Lecture

35 pages

Lecture

Lecture

17 pages

lecture

lecture

13 pages

Lecture

Lecture

21 pages

Lecture

Lecture

14 pages

Lecture

Lecture

53 pages

Lecture

Lecture

52 pages

Lecture

Lecture

40 pages

Lecture

Lecture

11 pages

Lecture

Lecture

20 pages

Lecture

Lecture

39 pages

Lecture

Lecture

10 pages

Lecture

Lecture

40 pages

Lecture

Lecture

25 pages

lecture

lecture

11 pages

lecture

lecture

7 pages

Lecture

Lecture

10 pages

lecture

lecture

46 pages

lecture

lecture

7 pages

Lecture

Lecture

8 pages

lecture

lecture

55 pages

lecture

lecture

45 pages

lecture

lecture

47 pages

lecture

lecture

39 pages

lecture

lecture

33 pages

lecture

lecture

38 pages

lecture

lecture

9 pages

midterm

midterm

16 pages

Lecture

Lecture

39 pages

Lecture

Lecture

14 pages

Lecture

Lecture

46 pages

Lecture

Lecture

8 pages

Lecture

Lecture

40 pages

Lecture

Lecture

11 pages

Lecture

Lecture

41 pages

Lecture

Lecture

38 pages

Lecture

Lecture

9 pages

Lab

Lab

3 pages

Lecture

Lecture

53 pages

Lecture

Lecture

51 pages

Lecture

Lecture

38 pages

Lecture

Lecture

42 pages

Lecture

Lecture

49 pages

Lecture

Lecture

63 pages

Lecture

Lecture

7 pages

Lecture

Lecture

51 pages

Lecture

Lecture

35 pages

Lecture

Lecture

29 pages

Lecture

Lecture

65 pages

Lecture

Lecture

47 pages

Lecture

Lecture

41 pages

Lecture

Lecture

41 pages

Lecture

Lecture

32 pages

Lecture

Lecture

35 pages

Lecture

Lecture

15 pages

Lecture

Lecture

52 pages

Lecture

Lecture

16 pages

Lecture

Lecture

4 pages

lecture

lecture

27 pages

lecture04

lecture04

46 pages

Lecture

Lecture

46 pages

Lecture

Lecture

13 pages

lecture

lecture

41 pages

lecture

lecture

38 pages

Lecture

Lecture

40 pages

Lecture

Lecture

25 pages

Lecture

Lecture

38 pages

lecture

lecture

11 pages

Lecture

Lecture

42 pages

Lecture

Lecture

12 pages

Lecture

Lecture

36 pages

Lecture

Lecture

46 pages

Lecture

Lecture

35 pages

Lecture

Lecture

34 pages

Lecture

Lecture

9 pages

lecture

lecture

49 pages

class03

class03

39 pages

Lecture

Lecture

8 pages

Lecture 8

Lecture 8

42 pages

Lecture

Lecture

20 pages

lecture

lecture

29 pages

Lecture

Lecture

9 pages

lecture

lecture

46 pages

Lecture

Lecture

12 pages

Lecture

Lecture

24 pages

Lecture

Lecture

41 pages

Lecture

Lecture

37 pages

lecture

lecture

59 pages

Lecture

Lecture

47 pages

Lecture

Lecture

34 pages

Lecture

Lecture

38 pages

Lecture

Lecture

28 pages

Exam

Exam

17 pages

Lecture

Lecture

21 pages

Lecture

Lecture

15 pages

Lecture

Lecture

9 pages

Project

Project

20 pages

Lecture

Lecture

40 pages

L13b_Exam

L13b_Exam

17 pages

Lecture

Lecture

48 pages

Lecture

Lecture

10 pages

Lecture

Lecture

52 pages

21-p2p

21-p2p

16 pages

lecture

lecture

77 pages

Lecture

Lecture

18 pages

Lecture

Lecture

62 pages

Lecture

Lecture

25 pages

Lecture

Lecture

24 pages

Project

Project

20 pages

Lecture

Lecture

47 pages

Lecture

Lecture

38 pages

Lecture

Lecture

35 pages

Roundup

Roundup

45 pages

Lecture

Lecture

47 pages

Lecture

Lecture

39 pages

Lecture

Lecture

13 pages

Midterm

Midterm

22 pages

Project

Project

26 pages

Lecture

Lecture

11 pages

Project

Project

27 pages

Lecture

Lecture

10 pages

Lecture

Lecture

50 pages

Lab

Lab

9 pages

Lecture

Lecture

30 pages

Lecture

Lecture

6 pages

r05-ruby

r05-ruby

27 pages

Lecture

Lecture

8 pages

Lecture

Lecture

28 pages

Lecture

Lecture

30 pages

Project

Project

13 pages

Lecture

Lecture

11 pages

Lecture

Lecture

12 pages

Lecture

Lecture

48 pages

Lecture

Lecture

55 pages

Lecture

Lecture

36 pages

Lecture

Lecture

17 pages

Load more
Download Lecture
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?