spdy - clean slate http about spdy o what is spdy o goals o features about http o simple http o...
TRANSCRIPT
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
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
About SPDY: Goals
• Around 50%deduction in page load time
• Concurrent HTTP requests across a single TCP
• Reduce band width
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.
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
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
About HTTP : Pipelining for cuncurrency
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
Solution…
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
SPDY in a nutshell
• One TCP connection
• Multiplexed
• Prioritized
• Headers compressed
• Server initiated stream
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
SPDY: Prioritized Requests
• Not all requests are equal!
• Allow clients to mark priority on each resource
• server best effort to deliver
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%)
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
Results in Diagrams
Page Load Time as Latency Decreases
Page Load Time - Http vs SPDY
Thank you!Looking forward to a fantastic HTTP/2.0!
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