http hypertext transfer protocol. http2 what it is n protocol for transfer of various data formats...
TRANSCRIPT
![Page 1: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/1.jpg)
HTTPHTTP
Hypertext Transfer Hypertext Transfer ProtocolProtocol
![Page 2: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/2.jpg)
HTTP 2
What It IsWhat It Is
Protocol for transfer of various data Protocol for transfer of various data formats between server and clientformats between server and client– PlaintextPlaintext– HypertextHypertext– ImagesImages– VideoVideo– SoundSound
Meta-information also transferredMeta-information also transferred
![Page 3: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/3.jpg)
HTTP 3
Uniform ResourcesUniform Resources
URLURL– Uniform Resource LocatorUniform Resource Locator– Refers to an existing protocolRefers to an existing protocol
http:, wais:, ftp:, mailto:, gopher:, news:http:, wais:, ftp:, mailto:, gopher:, news:
– Points to a document on a specific serverPoints to a document on a specific server URNURN
– Uniform Resource NameUniform Resource Name– Globally unique, persistent identifierGlobally unique, persistent identifier
Independent of locationIndependent of location
![Page 4: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/4.jpg)
HTTP 4
Uniform ResourcesUniform Resources
URIURI– Uniform Resource IdentifierUniform Resource Identifier– Collection of URL’s and URN’sCollection of URL’s and URN’s
![Page 5: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/5.jpg)
HTTP 5
URLURL <scheme> : //<host> :<port> /<path> <scheme> : //<host> :<port> /<path>
;<parameters> ?<query> ;<parameters> ?<query> #<fragment>#<fragment>– schemescheme
The protocol you are usingThe protocol you are using– hosthost
Host name or ip numberHost name or ip number– portport
TCP port number that protocol server is usingTCP port number that protocol server is using– pathpath
Path and filename reference of object on serverPath and filename reference of object on server
![Page 6: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/6.jpg)
HTTP 6
URLURL
<scheme> : //<host> :<port> <scheme> : //<host> :<port> /<path> ;<parameters> ?/<path> ;<parameters> ?<query> #<fragment><query> #<fragment>– parametersparameters
Any specific parameters that object Any specific parameters that object needsneeds
– queryquery Query string for a CGI programQuery string for a CGI program
– fragmentfragment Reference to a subset of an objectReference to a subset of an object
![Page 7: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/7.jpg)
HTTP 7
URL and HTTPURL and HTTP
All parts of URL, except parameters, All parts of URL, except parameters, used with httpused with http
Scheme and host can be omitted Scheme and host can be omitted when referenced object is on same when referenced object is on same machine as referring documentmachine as referring document
Port can be omitted so long as Port can be omitted so long as referenced host is running on port referenced host is running on port listed in your /etc/services filelisted in your /etc/services file– Usually port 80Usually port 80
![Page 8: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/8.jpg)
HTTP 8
URL and HTTPURL and HTTP
Full path used when referring to Full path used when referring to another serveranother server– Relative path on same serverRelative path on same server
Reference with relative path is a Reference with relative path is a partialpartial URLURL
Query passes parameters to CGIQuery passes parameters to CGI Fragment jumps to labels within a Fragment jumps to labels within a
pagepage– http://www.x.y/z#foohttp://www.x.y/z#foo
![Page 9: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/9.jpg)
HTTP 9
Web DocumentsWeb Documents
– htmlhtml– ASCII textASCII text– PreformattedPreformatted
postscriptpostscript– ImagesImages
GIFGIF JPEGJPEG
– VideoVideo MPEGMPEG
– VRMLVRML– JavaJava
![Page 10: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/10.jpg)
HTTP 10
CommunicationCommunication Server tells client what type of Server tells client what type of
information is coming before information is coming before information arrivesinformation arrives– File extensionsFile extensions
.html .htm.html .htm .txt.txt .ps.ps .au.au .gif .tiff .jpeg.gif .tiff .jpeg .mpeg.mpeg .vrml .wrl.vrml .wrl .java.java
![Page 11: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/11.jpg)
HTTP 11
CommunicationCommunication
Text and inline imagesText and inline images– Separate objectsSeparate objects
Client browser may optionally send a Client browser may optionally send a list of formats it can acceptlist of formats it can accept
Document can be a programDocument can be a program– Web server executes program and sends Web server executes program and sends
results to clientresults to client– Generic term for this program is Generic term for this program is scriptscript, ,
gatewaygateway, or , or gateway scriptgateway script
![Page 12: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/12.jpg)
HTTP 12
ScriptsScripts
Translates input from clientTranslates input from client Calls other programsCalls other programs Translates output from programs Translates output from programs
and returns it to clientand returns it to client
![Page 13: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/13.jpg)
HTTP 13
GatewaysGateways
Translates from one protocol or Translates from one protocol or service to anotherservice to another– HTTP / database queryHTTP / database query– Database query results / HTTPDatabase query results / HTTP
![Page 14: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/14.jpg)
HTTP 14
HTTP 1.0HTTP 1.0
Berners Lee, Fielding, Nielsen - 1995Berners Lee, Fielding, Nielsen - 1995 Used in hypermedia systems Used in hypermedia systems
distributed across networksdistributed across networks Defines request-response Defines request-response
conversationconversation– Requesting program (client) establishes Requesting program (client) establishes
connection with receiving program connection with receiving program (server)(server)
– Client sends request to serverClient sends request to server HTTP specifies syntaxHTTP specifies syntax
![Page 15: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/15.jpg)
HTTP 15
HTTP 1.0HTTP 1.0
Defines request-response Defines request-response conversationconversation– Server replies with responseServer replies with response
http specifies syntaxhttp specifies syntax
Does not handle network Does not handle network connectivity or how information is connectivity or how information is transmittedtransmitted
TCP/IP does thisTCP/IP does this
![Page 16: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/16.jpg)
HTTP 16
HTTP 1.0HTTP 1.0
HTTP requestHTTP request– MethodMethod– URIURI– Protocol versionProtocol version– Optional other informationOptional other information– Method [Request URI] HTTP/1.0 Method [Request URI] HTTP/1.0
<CRLF><CRLF>
![Page 17: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/17.jpg)
HTTP 17
HTTP 1.0HTTP 1.0
MethodMethod– GetGet
Returns objectReturns object
– HeadHead Returns information about objectReturns information about object
– PostPost Sends information to be stored on server Sends information to be stored on server
or as input to scriptor as input to script
![Page 18: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/18.jpg)
HTTP 18
HTTP 1.0HTTP 1.0
MethodMethod– PutPut
Sends new copy of existing object to Sends new copy of existing object to serverserver
Usually not allowedUsually not allowed
– DeleteDelete Deletes objectDeletes object Usually not allowedUsually not allowed
![Page 19: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/19.jpg)
HTTP 19
HTTP 1.0HTTP 1.0
Other informationOther information– User AgentUser Agent
Kind of browserKind of browser
– If-Modified-SinceIf-Modified-Since Returns object only if more recent than Returns object only if more recent than
given dategiven date Otherwise returns status code 304Otherwise returns status code 304
![Page 20: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/20.jpg)
HTTP 20
HTTP 1.0HTTP 1.0
Other informationOther information– AcceptAccept
Mime types which browser can acceptMime types which browser can accept– Multipurpose Internet Mail ExtensionMultipurpose Internet Mail Extension
text/plaintext/plain text/htmltext/html application/postscriptapplication/postscript image/gifimage/gif image/jpegimage/jpeg audio/basicaudio/basic video/mpegvideo/mpeg x-world/x-vrmlx-world/x-vrml
![Page 21: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/21.jpg)
HTTP 21
HTTP 1.0HTTP 1.0
Other informationOther information– AuthorizationAuthorization
User passwordUser passwordGET /X/Y/Z.HTML HTTP 1.0GET /X/Y/Z.HTML HTTP 1.0
User Agent: Prodigy-WB/1.3eUser Agent: Prodigy-WB/1.3e
Accept: text/plainAccept: text/plain
Accept: text/htmlAccept: text/html
Accept: application/postscriptAccept: application/postscript
Accept: image/gifAccept: image/gif
– Accept: */*Accept: */*
![Page 22: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/22.jpg)
HTTP 22
HTTP 1.0HTTP 1.0
HTTP responseHTTP response– Status lineStatus line
HTTP-version Status-code ReasonHTTP-version Status-code Reason Status-codes 1xx - InformationalStatus-codes 1xx - Informational
– Reserved for future useReserved for future use
![Page 23: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/23.jpg)
HTTP 23
HTTP 1.0HTTP 1.0
HTTP responseHTTP response– Status lineStatus line
Status-codes 2xx - SuccessStatus-codes 2xx - Success– The action was successfully received, The action was successfully received,
understood, and acceptedunderstood, and accepted 200 OK200 OK 201201 POST command POST command
successfulsuccessful 202202 Request acceptedRequest accepted 203203 GET or HEAD request GET or HEAD request
fulfilledfulfilled 204204 No contentNo content
![Page 24: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/24.jpg)
HTTP 24
HTTP 1.0HTTP 1.0
HTTP responseHTTP response– Status lineStatus line
Status-codes 3xx - RedirectionStatus-codes 3xx - Redirection– Further action must be taken in order to Further action must be taken in order to
complete requestcomplete request 300300 Resource found at Resource found at
multiple locationsmultiple locations 301 Resource moved permanently301 Resource moved permanently 302 Resource moved temporarily302 Resource moved temporarily 304 Resource has not modified (since 304 Resource has not modified (since
date)date)
![Page 25: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/25.jpg)
HTTP 25
HTTP 1.0HTTP 1.0
HTTP responseHTTP response– Status lineStatus line
Status-codes 4xx - Client errorStatus-codes 4xx - Client error– The request contains bad syntax or cannot be fulfilledThe request contains bad syntax or cannot be fulfilled
400400 Bad request from clientBad request from client 401401 Unauthorized requestUnauthorized request 402402 Payment required for requestPayment required for request 403403 Resource access forbiddenResource access forbidden 404404 Resource not foundResource not found 405405 Method not allowed for Method not allowed for
resourceresource 406406 Resource type not acceptableResource type not acceptable
![Page 26: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/26.jpg)
HTTP 26
HTTP 1.0HTTP 1.0
HTTP responseHTTP response– Status lineStatus line
Status-codes 5xx - Server errorStatus-codes 5xx - Server error– The server failed to fulfill an apparently valid requestThe server failed to fulfill an apparently valid request
500500 Internal server errorInternal server error 501501 Method not implementedMethod not implemented 502502 Bad gateway or server Bad gateway or server
overloadoverload 503503 Service unavailable / Service unavailable /
gateway timeoutgateway timeout 504504 Secondary gateway / server Secondary gateway / server
timeouttimeout
![Page 27: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/27.jpg)
HTTP 27
HTTP 1.0HTTP 1.0
HTTP responseHTTP response– Description of informationDescription of information
Server Server Type of server Type of server Date Date Date and time Date and time Content-LengthContent-Length Number of bytes Number of bytes Content-TypeContent-Type Mime type Mime type Content-LanguageContent-Language English, for example English, for example Content-EncodingContent-Encoding Data compression Data compression Last-ModifiedLast-Modified Date when last modified Date when last modified ExpiresExpires Date when file becomes Date when file becomes
invalidinvalid
![Page 28: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/28.jpg)
HTTP 28
HTTP 1.0HTTP 1.0
ProblemsProblems– HTTP is statelessHTTP is stateless
Each request requires separate TCP Each request requires separate TCP connectionconnection
Server doesn’t remember previous Server doesn’t remember previous requestsrequests
![Page 29: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/29.jpg)
HTTP 29
Evolution of HTTPEvolution of HTTP
HTTP/0.9 - 1990HTTP/0.9 - 1990– Request method + URI + crlfRequest method + URI + crlf
GET /pets/index.htmlGET /pets/index.html Just file contents sent backJust file contents sent back
– No header informationNo header information
Gopher influenceGopher influence– Media typesMedia types
Single character indicated one of ten Single character indicated one of ten typestypes
![Page 30: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/30.jpg)
HTTP 30
Evolution of HTTPEvolution of HTTP
HTTP/1.0 - 1995HTTP/1.0 - 1995– Meta-information between client and Meta-information between client and
serverserver Media typesMedia types
– MIME type/subtypeMIME type/subtype Status codesStatus codes This information influenced the development This information influenced the development
of web search enginesof web search engines
– CachingCaching– AuthorizationAuthorization
![Page 31: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/31.jpg)
HTTP 31
Evolution of HTTPEvolution of HTTP
HTTP/1.0 - 1995HTTP/1.0 - 1995– ProblemsProblems
ScalabilityScalability– High number of clients visit server for short High number of clients visit server for short
timetime Flash crowdFlash crowd
BandwidthBandwidth
![Page 32: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/32.jpg)
HTTP 32
Evolution of HTTPEvolution of HTTP
HTTP/1.1HTTP/1.1– Byte rangesByte ranges
Request of a document subsetRequest of a document subset– Adobe's Portable Document FormatAdobe's Portable Document Format– Streaming multimediaStreaming multimedia
Eliminates unnecessary client/server Eliminates unnecessary client/server communicationcommunication
An interrupted transfer which is restarted An interrupted transfer which is restarted can be more efficientcan be more efficient
![Page 33: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/33.jpg)
HTTP 33
Evolution of HTTPEvolution of HTTP
HTTP/1.1HTTP/1.1– Content negotiation with quality Content negotiation with quality
factorsfactors Quality factorsQuality factors
– Real numbers between 0 and 1Real numbers between 0 and 1 Default is 1Default is 1
Accept-Language: fr, en-gb; q=0.8, en; Accept-Language: fr, en-gb; q=0.8, en; q=0.7q=0.7
![Page 34: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/34.jpg)
HTTP 34
Evolution of HTTPEvolution of HTTP
HTTP/1.1HTTP/1.1– Chunked encodingChunked encoding
Transmission of streaming multimediaTransmission of streaming multimedia– One frame varies in size and composition from One frame varies in size and composition from
the nextthe next Streaming videoStreaming video
– Entire image transmitted in first chunk and Entire image transmitted in first chunk and differences to the previous image are differences to the previous image are transmitted in the next chunktransmitted in the next chunk
![Page 35: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/35.jpg)
HTTP 35
Evolution of HTTPEvolution of HTTP
HTTP/1.1HTTP/1.1– Protocol switchingProtocol switching
Client can specify another protocol more Client can specify another protocol more suited to data being transferredsuited to data being transferred
– Message integrity checksMessage integrity checks– Digest authenticationDigest authentication
In HTTP/1.0, user sent username and In HTTP/1.0, user sent username and password over the networkpassword over the network
In HTTP/1.1, the client and the server never In HTTP/1.1, the client and the server never send the actual username or password over send the actual username or password over the networkthe network
![Page 36: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/36.jpg)
HTTP 36
Evolution of HTTPEvolution of HTTP
HTTP/1.1HTTP/1.1– Persistent connectionsPersistent connections
In HTTP/1.0, if a single page includes inline In HTTP/1.0, if a single page includes inline images, multiple frames, animation, and images, multiple frames, animation, and other external references, to browse this other external references, to browse this page would require many reconnectionspage would require many reconnections
In HTTP/1.1 there are multiple In HTTP/1.1 there are multiple request/response transactions per connectionrequest/response transactions per connection
Clients can pipeline requests to the server by Clients can pipeline requests to the server by sending multiple requests at start of sessionsending multiple requests at start of session
![Page 37: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/37.jpg)
HTTP 37
Evolution of HTTPEvolution of HTTP HTTP/1.1HTTP/1.1
– Cache management with entity tagsCache management with entity tags When body of URI changes, so does its entity When body of URI changes, so does its entity
tagtag– Useful for maintaining caches, as updated URI Useful for maintaining caches, as updated URI
information would have a different entity taginformation would have a different entity tag Can tell if same resource is being cached from Can tell if same resource is being cached from
multiple URI's as it would have same entity tagmultiple URI's as it would have same entity tag Strong entity tagStrong entity tag
– Changes when any portion of resource changesChanges when any portion of resource changes One or more bytes changeOne or more bytes change
Weak entity tagWeak entity tag– Changes only when semantics of entity-body Changes only when semantics of entity-body
changeschanges
![Page 38: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/38.jpg)
HTTP 38
Evolution of HTTPEvolution of HTTP
HTTP/1.1HTTP/1.1– Software multihomingSoftware multihoming
Number of available IP addresses is a Number of available IP addresses is a concernconcern
In HTTP/1.0, server could have multiple In HTTP/1.0, server could have multiple DNS entries and IP addresses, each DNS entries and IP addresses, each corresponding to different document treecorresponding to different document tree
In HTTP/1.1, server could have multiple In HTTP/1.1, server could have multiple DNS entries and only a single IP addressDNS entries and only a single IP address
![Page 39: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/39.jpg)
HTTP 39
The FutureThe Future
HTTP-Next GenerationHTTP-Next Generation– Many channelsMany channels
One TCP connection carries multiple One TCP connection carries multiple channels for parallel communicationchannels for parallel communication
Different protocols on each channelDifferent protocols on each channel
– Traditional wayTraditional way Multiple TCP connections between same Multiple TCP connections between same
client and serverclient and server Pages contain images, video, audio, and Pages contain images, video, audio, and
htmlhtml
![Page 40: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/40.jpg)
HTTP 40
The FutureThe Future
ExtensibilityExtensibility– Adding new MIME headers has been Adding new MIME headers has been
the traditional way of extending httpthe traditional way of extending http– DrawbacksDrawbacks
No indication whether receiving end No indication whether receiving end understands these extensionsunderstands these extensions
No indication whether extension is No indication whether extension is intended for all parties along message path intended for all parties along message path or only for certain intermediariesor only for certain intermediaries
No indication of order in which extensions No indication of order in which extensions should be interpretedshould be interpreted
![Page 41: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/41.jpg)
HTTP 41
The FutureThe Future
ExtensibilityExtensibility– PEPPEP
Protocol Extension ProtocolProtocol Extension Protocol
![Page 42: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/42.jpg)
HTTP 42
The FutureThe Future
PerformancePerformance– Parsing MIME headers wastes resourcesParsing MIME headers wastes resources– Sticky headersSticky headers
Persistent state between multiple http Persistent state between multiple http requestsrequests
Not all headers have to be included in every Not all headers have to be included in every http messagehttp message
Distributed authoringDistributed authoring– Event notificationEvent notification
![Page 43: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/43.jpg)
HTTP 43
The FutureThe Future
Caching and replicationCaching and replication– Popular sites are Popular sites are really really popularpopular– Flash crowds happenFlash crowds happen– Hot spots on the net are dynamicHot spots on the net are dynamic– Amount of dynamic data is increasingAmount of dynamic data is increasing
![Page 44: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/44.jpg)
HTTP 44
The FutureThe Future
QoSQoS– Quality of serviceQuality of service– Not everything must be treated with Not everything must be treated with
same QoSsame QoS– Required QoS should be made at the Required QoS should be made at the
user-interfaceuser-interface
![Page 45: HTTP Hypertext Transfer Protocol. HTTP2 What It Is n Protocol for transfer of various data formats between server and client –Plaintext –Hypertext –Images](https://reader036.vdocuments.mx/reader036/viewer/2022081507/551a9829550346761a8b5ba1/html5/thumbnails/45.jpg)
HTTP 45
The FutureThe Future
Real-time protocols and the webReal-time protocols and the web– Streaming protocolsStreaming protocols
Audio/video-on-demandAudio/video-on-demand