Uploaded on

Introduction to SPDY protocol at Seattle Web Performance Meetup

Introduction to SPDY protocol at Seattle Web Performance Meetup

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
568
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
24
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • Significant increase in the number of resources required to present the web document. (large increate in the number HTTP requires.)Modern (74 requests to load base content. Interactive content increases the amount). For ~70KB
  • Server Push and Server Hint

Transcript

  • 1. AN INTRODUCTIONTO SPDY
  • 2. A SPeeDY SUMMARY Goal:  To deliver web content/applications more quickly than can be done with plain HTTP Developed by Google  First draft published in November, 2009 A drop-in replacement for HTTP  Backwards Compatible Binary with compression
  • 3. WHAT DO I GET WITH HTTP? Compression Headers Security (optional) Connection Management
  • 4. WHAT HAS IS WRONG WITH HTTP? Designed with a different web content landscape
  • 5. WEB CONTENT HAS CHANGEDContent was … … and is now.
  • 6. WHAT IS WRONG WITH HTTP? Designed with a different web content landscape Compression  Applied only to the HTTP response  Optional, only if the client declares itself capable  Headers are not compressed
  • 7. WHAT IS WRONG WITH HTTP? Designed with a different web content landscape Compression  Applied only to the HTTP response  Optional, only if the client declares itself capable  Headers are not compressed Headers  Sent with every request/response  Not compressed (see before)  Cookies  User Agent
  • 8. WHAT IS WRONG WITH HTTP? Designed with a different web content landscape Compression  Applied only to the HTTP response  Optional, only if the client declares itself capable  Headers are not compressed Headers  Sent with every request/response  Not compressed (see before)  Cookies  User Agent Security – Its Optional
  • 9. WHAT IS WRONG WITH HTTP? Designed with a different web content landscape Compression  Applied only to the HTTP response  Optional, only if the client declares itself capable  Headers are not compressed Headers  Sent with every request/response  Not compressed (see before)  Cookies  User Agent Security – Its Optional Connection Management
  • 10. What is wrong with HTTP?  Synchronous  Single Request per Connection  TCP Handshake introducesClient Server required overhead
  • 11. CONNECTION MANAGEMENT – HACKS? In order to compensate … We have increased the number of concurrent connection a browser manages per domain  Domain sharding.  http://www.microsoft.com -- resources loaded from 10 different domains CSS Sprites Base64 Images in data-urls CSS concaternation JavaScript concaternation etc …
  • 12.  HTTP Header Compression  Mandates the use of SSL Introducing SPDY  Allows multiple simultaneous HTTP requests  Shares a single connection  Avoid the latency of setting up multiple TCP sessionsClient Server  Request Prioritization  Advanced Features  Server Initiated Connections
  • 13. WHAT DO WE GET? Sends ~40% fewer packets than vanilla HTTP  Average speed up 35-55% Uses one TCP Session Backwards compatibility with existing network infrastructure
  • 14. WHO IS USING SPDY?  Google  Strangeloop[1]  Amazon[2]  Contendo[3]  You ? / Me ? / Others ?1. http://www.strangeloopnetworks.com/news/releases/strangeloop-offers-worlds-first-site-acceleration-product-to-deliver-spdy-benefits/2. http://arstechnica.com/gadgets/2011/09/amazons-silk-web-browser-adds-new-twist-to-old-idea/3. http://velocityconf.com/velocity2011/public/schedule/detail/21089
  • 15. SERVER IMPLEMENTATIONS  Apache 2.2 mod_spdy  Nginx (beta released[1])  Jetty  Python  Ruby  Node.js1. http://barry.wordpress.com/2012/06/16/nginx-spdy-and-automattic/
  • 16. CLIENTS / LIBRARIES Chrome (as of v6) Firefox (as of v11) Amazon’s Silk (Kindle Fire Browser) Others – including an iPhone client
  • 17. TOOLS AND LINKS SPDY Project  https://developers.google.com/speed/spdy/  http://www.chromium.org/spdy  http://dev.chromium.org/spdy/spdy-best-practices Tools  mod_spdy (https://developers.google.com/speed/spdy/mod_spdy/)  Chrome SPDY sessions (chrome://net-internals/#spdy)