Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Spdy A

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 16

Technical seminar on

SPDY protocol
Contents
 Introduction
 About HTTP
 Goals of SPDY
 SPDY design
 Basic Features
 Advanced Features
 What has been built so far?
 Areas of improvement
Introduction

Definition:
“SPDY (pronounced "SPeeDY"), is an
application layer protocol for transporting
content over the web,designed specifically
for reducing web page load time.”
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.
About HTTP
HTTP (Hypertext Transfer Protocol ):
It is a TCP/IP based communication protocol
which is used to deliver all files and other data
on the world wide web.

3 important things about HTTP :


 HTTP is connectionless.
 HTTP is media independent.
 HTTP is stateless.
Following diagram shows where
HTTP Protocol fits in
communication:
Goals of SPDY
 To target a 50% reduction in page load time. Our
preliminary results have come close to this target.
 To minimize deployment complexity. SPDY uses TCP as
the underlying transport layer, so requires no changes to
existing networking infrastructure.  
 To avoid the need for any changes to content by website
authors. The only changes required to support SPDY are
in the client user agent and web server applications.
 To bring together like-minded parties interested in
exploring protocols as a way of solving the latency
problem. We hope to develop this new protocol in
partnership with the open-source community and
industry specialists.
Technical goals of SPDY
 To allow many concurrent HTTP requests to run across a
single TCP session.
 To reduce the bandwidth currently used by HTTP by
compressing headers and eliminating unnecessary headers.
 To define a protocol that is easy to implement and server-
efficient. We hope to reduce the complexity of HTTP by
cutting down on edge cases and defining easily parsed
message formats.
 To make SSL the underlying transport protocol, for better
security and compatibility with existing network
infrastructure. Although SSL does introduce a latency
penalty, we believe that the long-term future of the web
depends on a secure network connection.
BASIC FEATURES
 Multiplexed streams:
Spdy allows for unlimited concurrent streams
over a single TCP connection.

 Request prioritization:
The client can request as many items as it
wants from the server and assign a priority to each
request.
 HTTP header compression:
Spdy compresses request and response
HTTP headers resulting in fewer packets and
fewer bytes transmitted.
Header compression resulted in an ~88%
reduction in the size of request headers and an
~85% reduction in the size of response headers.
This led to significant page load time
improvements.
Advanced Features
Spdy provides an advanced feature
called server initiated streams.
This is configured by the web
developer in 2 ways
 Server push

 Server hint
Server push:
Spdy experiments with a option for servers
to push data to clients via the
X-associated-content header. This header
informs the client that the server is pushing a
resource to the client before client had asked
for it.
Server hint:
Here the server uses X-sub resource
header to suggest to the client that it
should ask for specific resources, in cases
server knows in advance of the client that
those resources will be needed.
What has been done so far?

 A high-speed, in-memory server which can


serve both HTTP and SPDY responses
efficiently, over TCP and SSL. We will be
releasing this code as open source in the
near future.
 A modified Google Chrome client which
can use HTTP or SPDY, over TCP and SSL.
Areas where SPDY needs to improve
according to Google:
 Bandwidth efficiency is still low.
 SPDY single connection loss recovery is low.
 Google says that it needs more research in the
areas of server initiated streams, obtaining client
network information for pre-fetching suggestions
and so on…

You might also like