Spdy a Ppt

16
Technical seminar on SPDY protocol

Transcript of Spdy a Ppt

Page 1: Spdy a Ppt

Technical seminar on

SPDY protocol

Page 2: Spdy a Ppt

ContentsContents IntroductionIntroduction About HTTPAbout HTTP Goals of SPDYGoals of SPDY SPDY designSPDY design Basic FeaturesBasic Features Advanced FeaturesAdvanced Features What has been built so far?What has been built so far? Areas of improvementAreas of improvement

Page 3: Spdy a Ppt

IntroductionIntroduction

DefinitionDefinition: :

“ “SPDY SPDY (pronounced "SPeeDY"),(pronounced "SPeeDY"), is is an application layer protocol for an application layer protocol for transporting content over the transporting content over the web,designed specifically for web,designed specifically for reducing web page load time.”reducing web page load time.”

Page 4: Spdy a Ppt

It is an experimental protocol for a faster web.

It is proposed replacement for the HTTP protocol and created by GOOGLE and it is an alternative protocol to reduce the load time

of web pages.

Page 5: Spdy a Ppt

About HTTPAbout HTTP

HTTP (Hypertext Transfer ProtocolHTTP (Hypertext Transfer Protocol):): It is a TCP/IP based communication It is a TCP/IP based communication

protocol which is used to deliver all files protocol which is used to deliver all files and other data on the world wide web.and other data on the world wide web.

3 important things about HTTP3 important things about HTTP:: HTTP is connectionless.HTTP is connectionless. HTTP is media independent.HTTP is media independent. HTTP is stateless.HTTP is stateless.

Page 6: Spdy a Ppt

Following diagram shows Following diagram shows where HTTP Protocol fits in where HTTP Protocol fits in

communication:communication:

Page 7: Spdy a Ppt

Goals of SPDYGoals of SPDY To target a 50% reduction in page load time. Our To target a 50% reduction in page load time. Our

preliminary results have come close to this target.preliminary results have come close to this target. To minimize deployment complexity. SPDY uses TCP To minimize deployment complexity. SPDY uses TCP

as the underlying transport layer, so requires no as the underlying transport layer, so requires no changes to existing networking infrastructure.  changes to existing networking infrastructure.  

To avoid the need for any changes to content by To avoid the need for any changes to content by website authors. The only changes required to website authors. The only changes required to support SPDY are in the client user agent and web support SPDY are in the client user agent and web server applications.server applications.

To bring together like-minded parties interested in To bring together like-minded parties interested in exploring protocols as a way of solving the latency exploring protocols as a way of solving the latency problem. We hope to develop this new protocol in problem. We hope to develop this new protocol in partnership with the open-source community and partnership with the open-source community and industry specialists.industry specialists.

Page 8: Spdy a Ppt

Technical goals of SPDYTechnical goals of SPDY To allow many concurrent HTTP requests to run To allow many concurrent HTTP requests to run

across a single TCP session.across a single TCP session. To reduce the bandwidth currently used by HTTP by To reduce the bandwidth currently used by HTTP by

compressing headers and eliminating unnecessary compressing headers and eliminating unnecessary headers.headers.

To define a protocol that is easy to implement and To define a protocol that is easy to implement and server-efficient. We hope to reduce the complexity of server-efficient. We hope to reduce the complexity of HTTP by cutting down on edge cases and defining HTTP by cutting down on edge cases and defining easily parsed message formats.easily parsed message formats.

To make SSL the underlying transport protocol, for To make SSL the underlying transport protocol, for better security and compatibility with existing better security and compatibility with existing network infrastructure. Although SSL does introduce a network infrastructure. Although SSL does introduce a latency penalty, we believe that the long-term future latency penalty, we believe that the long-term future of the web depends on a secure network connection.of the web depends on a secure network connection.

Page 9: Spdy a Ppt

BASIC FEATURESBASIC FEATURES Multiplexed streams: Multiplexed streams: Spdy allows for unlimited concurrent Spdy allows for unlimited concurrent

streams over a single TCP connection.streams over a single TCP connection.

Request prioritization:Request prioritization: The client can request as many The client can request as many

items as it wants from the server and items as it wants from the server and assign a priority to each request.assign a priority to each request.

Page 10: Spdy a Ppt

HTTP header compression:HTTP header compression:

Spdy compresses request and Spdy compresses request and response HTTP headers resulting in fewer response HTTP headers resulting in fewer packets and fewer bytes transmitted.packets and fewer bytes transmitted.

Header compression resulted in an Header compression resulted in an ~88% reduction in the size of request ~88% reduction in the size of request headers and an ~85% reduction in the headers and an ~85% reduction in the size of response headers. This led to size of response headers. This led to significant page load time improvements.significant page load time improvements.

Page 11: Spdy a Ppt

Advanced FeaturesAdvanced Features

Spdy provides an advanced Spdy provides an advanced featurefeature

called called server initiated streamsserver initiated streams..

This is configured by the web This is configured by the web developer in 2 ways developer in 2 ways

Server pushServer push Server hintServer hint

Page 12: Spdy a Ppt

Server pushServer push:: Spdy experiments with a option for Spdy experiments with a option for

servers to push data to clients via the servers to push data to clients via the X-associated-content header. This headerX-associated-content header. This header informs the client that the server is informs the client that the server is

pushing a resource to the client before pushing a resource to the client before client had asked for it.client had asked for it.

Page 13: Spdy a Ppt

Server hint:Server hint:

Here the server uses X-sub Here the server uses X-sub resource header to suggest to the resource header to suggest to the client that it should ask for specific client that it should ask for specific resources, in cases server knows in resources, in cases server knows in advance of the client that those advance of the client that those resources will be needed.resources will be needed.

Page 14: Spdy a Ppt

What has been done so far?What has been done so far?

A high-speed, in-memory server which A high-speed, in-memory server which can serve both HTTP and SPDY can serve both HTTP and SPDY responses efficiently, over TCP and SSL. responses efficiently, over TCP and SSL. We will be releasing this code as open We will be releasing this code as open source in the near future.source in the near future.

A modified Google Chrome client which A modified Google Chrome client which can use HTTP or SPDY, over TCP and can use HTTP or SPDY, over TCP and SSL. SSL.

Page 15: Spdy a Ppt

Areas where SPDY needs to Areas where SPDY needs to improve according to Google:improve according to Google:

Bandwidth efficiency is still low.Bandwidth efficiency is still low. SPDY single connection loss recovery is low.SPDY single connection loss recovery is low. Google says that it needs more research in Google says that it needs more research in

the areas of server initiated streams, the areas of server initiated streams, obtaining client network information for pre-obtaining client network information for pre-fetching suggestions and so on…fetching suggestions and so on…

Page 16: Spdy a Ppt