Response time modeling Definition of rtt: time to send a small packet to travel from client to server and back initiate TCP connection Response time: RTT d one rtt to initiate tcp request connection file RTT time to 口onerttforhttp transmit file request and first few file bytes of Http response receIve to return tim time o file transmission time total 2RTT+transmit time 2: Application Layer 21
2: Application Layer 21 Response time modeling 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
Persistenthttp Nonpersistent Http issues Persistent without pipelining o requires 2 RTTs per object o client issues new request g OS must work and allocate only when previous host resources for each TCP response has been received connection 0 one rtt for each o but browsers often open referenced ob ject parallel TCP connections to Persistent with pipelining: fetch referenced objects o default in Http/1.1 Persistenthttp g client sends requests as g server leaves connection soon as it encounters a open after sending response referenced object o subsequent Http messages o as little as one rtt for all between same client/ server the referenced objects are sent over connection 2: Application Layer 22
2: Application Layer 22 Persistent HTTP Nonpersistent 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 objects Persistent HTTP server leaves connection open after sending response subsequent HTTP messages between same client/server are sent over 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 otwotypesofhttpmessagesrequestresponse O Http request message o ASCII(human-readable format) request line (GET, POST Get/SomedIr/page.html Http/1.1 HeadcommandsHost:www.someschool.edu User-agent: Mozilla/4.0 header Connection:ci。se lines Accept-language: fr Carriage return ne fee (extra carriage return, line feed ndicates end of message 2: Application Layer 23
2: Application Layer 23 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 If request line header field name value crIf header lines header field name alue crIf crIf Entity Body 2: Application Layer 24
2: Application Layer 24 HTTP request message: general format
Uploading form input Post method: o Web page often includes form input URL method: o Input is uploaded to o Uses GET method server in entity body o Input is uploaded in URL field of request line: Www.sOmesIte.com/animalsearch?monkeysbanana 2: Application Layer 25
2: Application Layer 25 Uploading form input Post method: Web page often includes form input Input is uploaded to server in entity body URL method: Uses GET method Input is uploaded in URL field of request line: www.somesite.com/animalsearch?monkeys&banana