Nonpersistent HTTP (cont.) 4.HTTP server closes TCP connection. 5.HTTP client receives response message containing html file, displays html.Parsing html file,finds 10 referenced jpeg objects time 6.Steps 1-5 repeated for each of 10 jpeg objects 2:Application Layer 26
2: Application Layer 26 Nonpersistent HTTP (cont.) 5. HTTP client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 6. Steps 1-5 repeated for each of 10 jpeg objects 4. HTTP server closes TCP connection. time
Non-Persistent HTTP:Response time Definition of RTT:time to send a small packet to travel from client to server and back. initiate TCP connection Response time: RTT one RTT to initiate TCP request connection file time to RTT ▣one RTT for HTTP transmit file request and first few file received bytes of HTTP response to return time time file transmission time total 2RTT+transmit time 2:Application Layer 27
2: Application Layer 27 Non-Persistent HTTP: Response time Definition of RTT: time to send a small packet to travel from client to server and back. Response time: one RTT to initiate TCP connection one RTT for HTTP request and first few bytes of HTTP response to return file transmission time total = 2RTT+transmit time time to transmit file initiate TCP connection RTT request file RTT file received time time
Persistent HTTP Nonpersistent HTTP issues: Persistent without pipelining: requires 2 RTTs per object client issues new request OS overhead for each TCP only when previous connection response has been received browsers often open parallel ▣one RTT for each TCP connections to fetch referenced object referenced objects Persistent with pipelining: Persistent HTTP- default in HTTP/1.1 server leaves connection client sends requests as open after sending response soon as it encounters a subsequent HTTP messages referenced object between same client/server ▣ as little as one RTT for all sent over open connection the referenced objects 2:Application Layer 28
2: Application Layer 28 Persistent HTTP Nonpersistent HTTP issues: requires 2 RTTs per object OS overhead for each TCP connection browsers often open parallel TCP connections to fetch referenced objects Persistent HTTP server leaves connection open after sending response subsequent HTTP messages between same client/server sent over open connection Persistent without pipelining: client issues new request only when previous response has been received one RTT for each referenced object Persistent 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 objects
HTTP request message two types of HTTP messages:request,response HTTP request message: ASCII(human-readable format) 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
2: Application Layer 29 HTTP request message two types of HTTP messages: request, response HTTP request message: ❖ ASCII (human-readable format) GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 Connection: close Accept-language:fr (extra carriage return, line feed) request line (GET, POST, HEAD commands) header lines Carriage return, line feed indicates end of message
HTTP request message:general format method sp URL sp version cr request line header field name value cr header lines header field name value cr f cr If Entity Body 2:Application Layer 30
2: Application Layer 30 HTTP request message: general format