node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »



WARNING: this is very, very alpha stuff.

SPDY is a new protocol from Google based on HTTP. It aims for 50% decrease in page load times over vanilla HTTP.

Currently Google Chrome is the only browser that supports SPDY.

The express-spdy package aims to allow existing express.js sites to experiment with SPDY without making (many) changes.


Install the latest snapshot of openssl with NPN and shared objects. Currently, this requires obtaining a SNAP tarball from the openssl FTP server or checking out the latest trunk from the openssl CVS server.

Install node.js 0.6.0 or later.

With the npn-enabled node, npm install express-spdy.

Detailed instructions in


An express.js app can then be SPDY-ized by changing the first few lines to:

var express = require('express-spdy')
  , fs = require('fs');

var app = module.exports = express.createServer({
  key: fs.readFileSync(__dirname + '/keys/spdy-key.pem'),
  cert: fs.readFileSync(__dirname + '/keys/spdy-cert.pem'),
  ca: fs.readFileSync(__dirname + '/keys/spdy-csr.pem'),
  NPNProtocols: ['spdy/2']

Detailed instructions in


  • Tests
  • Server push
  • Documentation (of course)


Huge thanks to Fedor Indutny for his awesome node-spdy. Very little was required to get express-spdy working thanks to his hard work.