How to work with HTTP/2 in Elixir?

Peter Saxton created a server, that supports only HTTP/2 built entirely in Elixir
28 August 2017   643

What is HTTP/2?

HTTP/2 is a major revision to the HTTP protocol. This latest version aims to maintain the semantics of HTTP while improving performance. However several of these improvements make upgrading existing servers challenging.

The working group of HTTP/2 had several goals:

  • Create a negotiation mechanism that allows clients and servers to elect to use HTTP 1.1, 2.0, or potentially other non-HTTP protocols.
  • Maintain high-level compatibility with HTTP 1.1 (for example with methods, status codes, URIs, and most header fields).
  • Decrease latency to improve page load speed in web browsers by considering:
    • Data compression of HTTP headers
    • HTTP/2 Server Push
    • Pipelining of requests
    • Fixing the head-of-line blocking problem in HTTP 1.x
    • Multiplexing multiple requests over a single TCP connection
  • Support common existing use cases of HTTP, such as desktop web browsers, mobile web browsers, web APIs, web servers at various scales, proxy servers, reverse proxy servers, firewalls, and content delivery networks.

How to work with HTTP/2 in Elixir?

Peter Saxton has built a server to take advantange of all the new features of HTTP/2, it's called Ace. The Ace server supports only HTTP/2 built entirely in Elixir.

In this talk, Peter will provide a summary of the features of HTTP/2. He will then explain how Ace makes these features available to application developers and show us what is needed to increase adoption of HTTP/2 in the Elixir Ecosystem.

ElixirLangMoscow Meetup #7

Meetup will be held on February 15th, Thursday, in Moscow, Pyatnitsky Lane 2
22 January 2018   247

Club ElixirLangMoscow invites all lovers of Elixir, Erlang and functional programming languages to the next meeting of our club. This time the event was decided to be held in the "Dear, I will call back" bar. Because, what could be better than listening to interesting reports for a glass of beer. And even in the company of friends!


We are waiting for two cool reports and a free microphone for those who have something to say.

Dmitry Rubinstein

Topic: “Introduction to Agala

Dmitry Rubinstein
Dmitry Rubinstein

The report will highlight the Agala framework - a platform for real-time interaction with third-party services. Currently, this platform has implemented bots for Telegram and Vk, which are used in the combat environment in our company. Let's analyze the main differences from the known solutions for creating bots on Elixir, consider the internal structure of the platform and learn how to support any necessary third-party service.

Dmitry Rubinstein

Alexandr Shorin 

Topic: “Apache CouchDB: more than a database with HTTP API

Alexandr Shorin
Alexandr Shorin

This will be an introductory report with Apache CouchDB and its ecosystem. Main features and capabilities. Details of the implementation of the replication protocol and why this is important. Forks: Couchbase, Cloudant - what are the differences and why should not they be confused with the original project. The history of clustering, what happened in the end in 2.0 and how it works. What is interesting about the new release and where the project is heading.

Alexandr Shorin 

As a pleasant chip, the bar will prepare an "Elixir" cocktail especially for us. Admission is free, everyone pays their bill.

The event has an age limit of 18+. Register for free.