express-spdy

SPDY-ize express.js sites.

express-spdy

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 INSTALL.md.

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 INSTALL.md.

  • 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.