spdy - clean slate http about spdy o what is spdy o goals o features about http o simple http o...
TRANSCRIPT
![Page 1: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/1.jpg)
![Page 2: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/2.jpg)
SPDY - Clean Slate HTTP
• About SPDYo What is SPDYo Goalso Features
• About HTTPo Simple HTTPo Pipelining for cuncurrencyo Pipelining doesn’t help
• SPDY in a nutshello Multiplexed Requestso Prioritized Requestso Compressed Headerso Server Push & Server Hint
![Page 3: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/3.jpg)
About SDPY : What is SPDY
o An open networking protocolo Developed at Googleo Trademark of Google(not an acronym)o Started over 3 years agoo A protocol to Reduce latency
![Page 4: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/4.jpg)
About SPDY: Goals
• Around 50%deduction in page load time
• Concurrent HTTP requests across a single TCP
• Reduce band width
![Page 5: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/5.jpg)
About SPDY: Features
Always operates on Transport Layer Security (TLS).
• Transport Layer Security (TLS) is the next version of Secure Sockets Layer (SSL).
SPDY applies only to websites written with HTTPS.
![Page 6: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/6.jpg)
SPDY - Clean Slate HTTP
• About SPDYo What is SPDYo Motivationo Features
• About HTTPo Simple HTTPo Pipelining for cuncurrencyo Pipelining doesn’t help
• SPDY in a nutshello Multiplexed Requestso Prioritized Requestso Compressed Headerso Server Push & Server Hint
![Page 7: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/7.jpg)
About Http: Simple Http
1 Open a connection
2 Send a request
3 Receive a response
4 Repeat request and response
5 Close the connection, and done
Single request per connection
![Page 8: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/8.jpg)
About HTTP : Pipelining for cuncurrency
![Page 9: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/9.jpg)
About Http: “Pipelining" doesn't help
• FIFO queue
• HOL(head of the line) block
• Additional round trips for connection setup
• Slow-start delays
• Waiting for the first response to be complete :
Performance Loss
![Page 10: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/10.jpg)
Solution…
![Page 11: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/11.jpg)
SPDY - Clean Slate HTTP
• About SPDYo What is SPDYo Motivationo Features
• About HTTPo Simple HTTPo Pipelining for cuncurrencyo Pipelining doesn’t help
• SPDY in a nutshello Multiplexed Requestso Prioritized Requestso Compressed Headerso Server Push & Server Hint
![Page 12: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/12.jpg)
SPDY in a nutshell
• One TCP connection
• Multiplexed
• Prioritized
• Headers compressed
• Server initiated stream
![Page 13: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/13.jpg)
SPDY : Multiplexed requests
SPDY allows for unlimited concurrent streams over a single TCP connection
There is no limit to the number of requests that can be issued concurrently over a single SPDY connection
![Page 14: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/14.jpg)
SPDY: Prioritized Requests
• Not all requests are equal!
• Allow clients to mark priority on each resource
• server best effort to deliver
![Page 15: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/15.jpg)
SPDY: Compressed HeadersAverage request /response header: ~600bytesNo compression for headers in HTTP(redundant data)
Compressing the headers in SPDY: Save latency and bandwidth compared to HTTPFewer Packets and bytes transmission
Request Headers 1st 2nd
HTTP Request 686.2 636.4
SPDY Request 379.4 (55%) 68.6 (10%)
Response Headers 1st 2nd
HTTP Response 444.6 418.7
SPDY Response 202.0 (45%) 69.2 (17%)
![Page 16: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/16.jpg)
Server push and server hint • Server Push: Server pushes a resource directly to the client without the
client asking for the resource.
Save 1 round-trip
It is wasteful, if the resource is in cache
• Server Hint: Server can notify the client of a resource that will be needed before the client can discover it.
Early discovery of critical resources
Allow cache validation
One round-trip between client and server
![Page 17: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/17.jpg)
Results in Diagrams
![Page 18: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/18.jpg)
Page Load Time as Latency Decreases
![Page 19: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/19.jpg)
Page Load Time - Http vs SPDY
![Page 20: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/20.jpg)
Thank you!Looking forward to a fantastic HTTP/2.0!
![Page 21: SPDY - Clean Slate HTTP About SPDY o What is SPDY o Goals o Features About HTTP o Simple HTTP o Pipelining for cuncurrency o Pipelining doesn’t help SPDY](https://reader036.vdocuments.us/reader036/viewer/2022062407/56649cb75503460f9497c655/html5/thumbnails/21.jpg)
Resources:
• SPDY: An experimental protocol for a faster web• A Methodology to Derive SPDY’s Initial Dictionary for Zlib• The Chromium Project:SPDY Protocol• HTTP Pipelining