Build & maintain complex distributed systems
October 1–2, 2017: Training
October 2–4, 2017: Tutorials & Conference
New York, NY

HTTP/2 development: A hands-on approach

1:30pm5:00pm Monday, October 2, 2017
Location: Nassau

Materials or downloads needed in advance

  • A laptop (macOS or Linux with Wireshark, Firefox nightly, Chrome, nghttp2, curl with HTTP/2 support (Linux) or (macOS), openssl-devel packages (can be installed with Brew on macOS), and cmake installed
  • Make sure you can compile git@github.com:h2o/h2o.git and git@github.com:deweerdt/h2get.git

What you'll learn

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

Description

HTTP/2 (or H2, as the cool kids call it) has been ratified for months, and browsers already support it. But do the exciting features that HTTP/2 offer meet expectations? Frederik Deweerdt walks you through how HTTP/2 fares in the real world, how browser behavior is changing to accommodate new server-side functionality, and how you can get the most of the new protocol everybody’s talking about.

Frederik starts with an introduction to HTTP/2, explaining how it differs from the current web standard, before introducing H2O, a fast and hackable HTTP/2 library he comaintains, and demonstrates how to use browser and command-line tooling for making and profiling H2 requests. You’ll then use this knowledge to build a simple yet high-throughput HTTP/2 server and client.

Photo of Frederik Deweerdt

Frederik Deweerdt

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.

Comments on this page are now closed.

Comments

Picture of Frederik Deweerdt
Frederik Deweerdt | SOFTWARE ENGINEER
08/11/2017 2:12pm EDT

> Hi, I would like to know if having Mac/linux is mandatory for this session. Will I be able to work with Windows 10?

Hello Renjith, Mac or Linux are mandatory, yes. A Linux VM under Windows might do the trick.

Renjith Nair | SR DEVELOPER
08/11/2017 10:10am EDT

Hi, I would like to know if having Mac/linux is mandatory for this session. Will I be able to work with Windows 10?