Firefox SPDY + WS

SPDY/WebSocket on Gecko

Makoto Kato / @makoto_kato

Agenda

  • WebSocket on Gecko
  • SPDY on Gecko
  • Telemetry for SPDY

WebSocket on Gecko

WebSocket on Gecko

First support for desktop is Firefox 4

Mobile (Android) is from Firefox 7

Unprefxed is Firefox 11

To enable/disable, use network.websockets.enable on about:config

WebSocket version

Version 76 ... Firefox 4 (2011/3)

Version 7 ... Firefox 6 (2011/8)

Version 10 ... Firefox 7 (2011/9)

RFC 6455... Firefox 11 (2012/3)

Outgoing Message Size on WS

Firefox 10 or older .. 16MB

Firefox 11 or later .. 2GB (depend on available memory)

Firefox 11

Unprefixed and RFC 6455 support

ArrayBuffer support

SPDY on Gecko

SPDY v2

First support is Firefox 11 (Desktop and Mobile)

But, default is OFF on 11 and 12

Enabled as default by Firefox 13 (2012/6)

To enable/disable, use network.http.spdy.enabled on about:config (SPDY v2 and SPDY v3)

SPDY v3

First support is Firefox 15 (Desktop and Mobile) (2012/08)

Ready on both ESR channel and Release channel

Of course, ready on Firefox OS

For internal test and addons

We provide a response header for SPDY

To detect SPDY session, simply watch "X-Firefox-Spdy" header

SPDY headers by Inspector

SPDY headers by Inspector

Limitation of SPDY impl. on Gecko

  • v2 impelemtation is limited (ex. go away on failure case)
  • NOT support client certificate authentication
  • NOT support server push
  • SSL false start is OFF

Telemetry for SPDY

Performance Data?

We don't have enough resource to testing

(Microsoft's lab)

Data collection

Firefox collects several data on REAL usages

TestPlot for UX

HelthReport for diagnostics

Telemetry for researh of performance

What data does Mozilla collect by Telemetry?

http://mxr.mozilla.org/mozilla-central/source/toolkit/components/telemetry/Histograms.json

My telemetry data?

via about:telemetry (Firefox 19+) or about:telemetry addons

about:telemetry

Ex. SPDY_REQUEST_PER_CONN

Ex. SPDY_VERSION2

2013/02/01 vs 2013/03/01

References

THE END

Makoto Kato / @makoto_kato