Workshop: Hands-on HTTP/2, a Fresh Start to The Web

Location:

Level: 
Intermediate

When:

9:00am - 12:00pm

Prerequisites

A working knowledge of C.
Participants should have a working C compiler, with MacOSX or Linux installed.
When using MacOSX we'll be using Homebrew to install opensource packages.

HTTP/2 (or "H2" as the cool kids call it) has been ratified for months and browsers already support it. Do the exciting features that HTTP/2 offer meet expectations? How does HTTP/2 fare in the real world? How is browser behavior changing to accommodate new server-side functionality? How can you get the most of the new protocol everybody’s talking about?

We’ll start with an introduction of HTTP/2 and how it differs from the current web standard. Once we understand the motivations behind H2, we’ll introduce H2O, a fast and hackable HTTP/2 library co-maintained by the instructor, and learn how to use browser and command-line tooling for making and profiling H2 requests. This knowledge will enable us to build a simple yet high-throughput HTTP/2 server and client.”

The takeaways from this workshop include:

  • Understanding the limitations of HTTP/1.1, namely the single-connection model and its network limitations
  • Surveying the HTTP/2 tooling ecosystem for observing and debugging low-level system behavior
  • Implementing your own implementation of an H2 client and server using production-caliber frameworks

Speaker: Nathan Taylor

Software Engineer @Fastly

Nathan is an Oakland-based software developer currently employed at Fastly, where he works on making the Web faster through high performance content delivery. Previously, he has hacked on low-level systems software such as the Twitter Java runtime and the Xen virtual machine monitor. Originally a Trombone major, he holds an Msc. from UBC, where he researched full-system dynamic analysis tools. When not in front of a computer, you’re likely to find him either making granola or suffering biking up a steep hill.

Find Nathan Taylor at

Speaker: Frederik Deweerdt

Software Engineer @Fastly

Frederik is a software engineer at Fastly. He has been a developer for nearly 20 years, mostly in C and a bit of Go. He has worked on on telecom systems for most of his carrier: from a fast carrier grade SMTP/DNS/SMS server to a satellite oriented TCP/HTTP proxy. He now leads the HTTP/2 efforts at Fastly, the real-time CDN.

Find Frederik Deweerdt at

.

Tracks

Monday Nov 7

Tuesday Nov 8

Wednesday Nov 9