Jetty Logo
Contact the core Jetty developers at

private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery

Chapter 15. SPDY

Table of Contents

Introducing SPDY
Configuring SPDY
Configuring SPDY Proxy

Introducing SPDY

Jetty supports both a client and a server implementation for the SPDY protocol, beginning with versions 7.6.2 and 8.1.2. As Jetty 7 and 8 are now in maintenance-only mode, we recommend using Jetty 9 if you intend to use SPDY. Not all features described here exist in 7/8. To provide the best support possible for SPDY, the Jetty project also provides an implementation for NPN. Both the SPDY and the NPN implementations require OpenJDK 1.7 or greater.

A server deployed over TLS normally advertises the SPDY protocol via the TLS Extension Next Protocol Negotiation (NPN).


To use SPDY in Jetty you need to add the NPN boot Jar in the boot classpath.

See a SPDY Push Demonstration video from JavaOne 2012.

Jetty's SPDY modules

Jetty's SPDY implementation consists of four modules:

  1. spdy-core–contains the SPDY API and a partial implementation. This module is independent of Jetty (the servlet container), and you can reuse it with other Java SPDY implementations. One of the goals of this module is to standardize the SPDY Java API.

  2. spdy-jetty module–binds the spdy-core module to Jetty's NIO framework to provide asynchronous socket I/O. This module uses Jetty internals, but Java SPDY client applications can also use it to communicate with a SPDY server.

  3. spdy-jetty-http module–provides a server-side layering of HTTP over SPDY. This module allows any SPDY compliant browser, such as Chromium/Chrome, to talk SPDY to a Jetty server that deploys a standard web application made of servlets, filters and JSPs. This module performs the conversion of SPDY to HTTP and vice versa so that for the web application it is as if a normal HTTP request has arrived, and a normal HTTP response is returned.

  4. spdy-jetty-http-webapp module–provides a demo application for the a spdy-jetty-http module.

See an error or something missing? Contribute to this documentation at Github!