DOC PREVIEW
Berkeley ELENG 122 - HyperText Transfer Protocol - HTTP

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 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 26 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 26 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 26 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 26 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 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

EE 122: Lecture 21 (HyperText Transfer Protocol - HTTP)BackgroundBasicsTerminologyUniversal Resource LocatorClient RequestServer ResponseBig PictureRequest MethodsResponse CodesHTTP/1.0 ExampleHHTP/1.0 PerformanceWeb ProxiesWeb Proxies (cont’d)HTTP/1.0 CachingHTTP/1.1Persistent ConnectionsPipelined Requests/ResponsesChunked Transfer EncodingCompression of Data TypesSupport for Virtual HostingHTTP/1.1 - CachingHTTP/1.1 - Caching (cont’d)Slide 24HTTP/1.1 – Caching (cont’d)SummaryEE 122: Lecture 21(HyperText Transfer Protocol - HTTP)Ion StoicaNov 20, 2001(*)[email protected] 2BackgroundWorld Wide Web (WWW): a set of cooperating clients and servers that communicate through HTTPHTTP history-First HTTP implementation - 1990 •Tim Berners-Lee at CERN-HTTP/0.9 – 1991•Simple GET command for the Web-HTTP/1.0 –1992•Client/Server information, simple caching-HTTP/1.1 - [email protected] 3BasicsClient-server architectureSynchronous request/reply protocol StatelessUses unicastImplemented on top of TCP/[email protected] 4TerminologyResource – file or service (e.g., dynamic results from the execution of a script)Entity – information transferred in a request or responseEntity Tag – unique identifier for a [email protected] 5Universal Resource LocatorAn address or location of a resource, e.g., http://www.eecs.berkeley.edu/index.html Prefix up to “:” represents the protocol to be used to obtain the [email protected] 6Client RequestSteps to get the resource: http://www.eecs.berkeley.edu/index.html 1. Use DNS to obtain the IP address of www.eecs.berkeley.edu, A2. Send to A an HTTP request:3. Server response: (see next slide)GET /index.html HTTP/[email protected] 7Server ResponseHTTP/1.0 200 OKContent-Type: text/htmlContent-Length: 1234Last-Modified: Mon, 19 Nov 2001 15:31:20 GMT<HTML><HEAD><TITLE>EECS Home Page</TITLE></HEAD>…</BODY></HTML>[email protected] 8Big PictureClientServerTCP SynTCP syn + ack TCP ack + HTTP GET...EstablishconnectionRequestresponseClient [email protected] 9Request MethodsGET – transfer resource from given URLHEAD – GET resource metadata (headers) onlyPUT – store/modify resource under the given URLDELETE – remove resourcePOST – provide input for a process identified by the given URL (usually used to post CGI parameters)[email protected] 10Response Codes1x informational2x success3x redirection4x client error in request5x server error; can’t satisfy the [email protected] 11HTTP/1.0 ExampleClientServerRequest image 1Transfer image 1Request image 2Transfer image 2Request textTransfer textFinish [email protected] 12HHTP/1.0 PerformanceCreate a new TCP connection for each resource-Large number of embedded objects in a web page-Many short lived connectionsTCP transfer-Too slow for small object-May never exit slow-start [email protected] 13Web ProxiesIntermediaries between client and serverClient 1Proxy Proxy ServerClient 2Client [email protected] 14Web Proxies (cont’d)Location: close to the server, client, or in the networkFunctions:-Filter requests/responses-Modify requests/responses•Change http requests to ftp requests•Change response content, e.g., transcoding to display data efficiently on a Palm Pilot -Provide better [email protected] 15HTTP/1.0 CachingA request directive: -Pragma: no-cache – ignore all caches and get resource directly from serverA modifier to the GET request:-If-modified-since – return a “not modified” response if resource was not modified since specified time A response header:-Expires – specify to the client for how long it is safe to cache the [email protected] 16HTTP/1.1Performance: -Persistent connections -Pipelined requests/responses-Chunked transfer encoding-Compression of data types-…Support for virtual hostingEfficient caching [email protected] 17Persistent ConnectionsAllow multiple transfers over one connectionAvoid multiple TCP connection setupsAvoid multiple TCP slow [email protected] 18Pipelined Requests/ResponsesBuffer requests and responses to reduce the number of packetsMultiple requests can be contained in one TCP segmentNote: order of responses has to be maintainedClientServerRequest 1Request 2Request 3Transfer 1Transfer 2Transfer [email protected] 19Chunked Transfer EncodingIn HTTP/1.0 server indicate the end of dynamic content by closing connection-Persistent connections not possible! Why?In HTTP/1.1 server splits dynamic content in chunksSize of chunk in hex followed by semicolon-Dynamic content transfer: series of chunks followed by a chunk of size [email protected] 20Compression of Data TypesEnables transport compression of data types to decrease payload sizeExample:-Server sends in response: “Content-Encoding: gzip”-Client sends: “Accept-Encoding:gzip”[email protected] 21Support for Virtual Hosting Problem: recall that a request to get http://www.foo.com/index.html has in its header only:-GET /index.html HTTP/1.0It is not possible to run two web servers at the same IP address, because GET is ambiguous-This is useful when outsourcing web content, i.e., company “foo” asks company “outsource” to manage its contentHTTP/1.1 addresses this problem by mandating “Host” header line, e.g., GET /index.html HTTP/1.1Host: [email protected] 22HTTP/1.1 - CachingHTTP/1.1 provides better support for caching-Separate “what to cache” and “whether a cache response can be used safely”-Allow server to provide more info on resource cacheability -A cache does not return unknowingly a stale resources-Not depending on absolute [email protected] 23HTTP/1.1 - Caching (cont’d)Four new headers associated to caching: age header, entity tags, cache-control, and varyAge Header – the amount of time that is known to have passed since the response message was retrieved Entity tags – unique tags to differentiate between different cached versions of the same [email protected] 24HTTP/1.1 - Caching (cont’d)Cache-Control-no-cache: get resource only from server-only-if-cached: obtain resource only from cache-no-store: don’t allow caches to store


View Full Document

Berkeley ELENG 122 - HyperText Transfer Protocol - HTTP

Documents in this Course
Lecture 6

Lecture 6

22 pages

Wireless

Wireless

16 pages

Links

Links

21 pages

Ethernet

Ethernet

10 pages

routing

routing

11 pages

Links

Links

7 pages

Switches

Switches

30 pages

Multicast

Multicast

36 pages

Switches

Switches

18 pages

Security

Security

16 pages

Switches

Switches

18 pages

Lecture 1

Lecture 1

56 pages

OPNET

OPNET

5 pages

Lecture 4

Lecture 4

16 pages

Ethernet

Ethernet

65 pages

Models

Models

30 pages

TCP

TCP

16 pages

Wireless

Wireless

48 pages

Load more
Download HyperText Transfer Protocol - HTTP
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 HyperText Transfer Protocol - HTTP 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 HyperText Transfer Protocol - HTTP 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?