spdy - clean slate http about spdy o what is spdy o goals o features about http o simple http o...

21

Upload: irvin-burfield

Post on 16-Dec-2015

227 views

Category:

Documents


1 download

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
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank you!Looking forward to a fantastic HTTP/2.0!