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.

Leave a Comment or Question

Help us make this conference the best it can be for you. Have questions you'd like this speaker to address? Suggestions for issues that deserve extra attention? Feedback that you'd like to share with the speaker and other attendees?

Join the conversation here (requires login)

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?