Skip to content

Kévin Dunglas

Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, Mercure.rocks, Vulcain.rocks and of some Symfony components.

Menu
  • Talks
  • Resume
  • Sponsor me
  • Contact
Menu

Vulcain: HTTP/2 Server Push
 and the rise of client-driven REST APIs

Posted on November 22, 2019September 26, 2021 by Kévin Dunglas

#SymfonyCon: A few weeks ago, I published #Vulcain, a new protocol to make #REST APIs faster than #GraphQL ones thanks to HTTP/2 Server Push!

Agenda:
🌏 What's REST?
🔥 Introducing Vulcain
❗Save the Web, decentralize❗️
🔨Let's code: Vulcain X Symfony

Be there, I speak at 2:20!

— Kévin Dunglas (@dunglas) November 21, 2019

Watch a longer video (English)!
Watch a French version.

Over the years, several formats have been created to fix performance bottlenecks of web APIs: the n+1 problem, over fetching, under fetching…
The current hipster solution for these problems is to replace the conceptual model of HTTP (resource-oriented), by the one of GraphQL.

It’s a smart network hack for HTTP/1… But a hack that comes with (too) many drawbacks when it comes to HTTP cache, logs, security…
Fortunately, thanks to the new features introduced in HTTP/2 and HTTP/3, it’s now possible to create REST APIs fixing these problems with ease and class.

Vulcain is a brand new Internet Draft allowing to create fast, idiomatic and client-driven REST APIs.
To do so, it relies on the Server Push feature introduced by HTTP/2+ and on the hypermedia capabilities of the HTTP protocol.

Better, Vulcain comes with an open-source reverse proxy that you can put on top of any existing web API to instantly turn it into a Vulcain-compatible one!

HATEOAS is back, and it’s for the best!

  • Vulcain on GitHub
  • Vulcain X API Platform demo repository

Related posts:

  1. Webperf: PHP after Server Push
  2. Symfony and API Platform get “push” and real-time capabilities (Mercure protocol)
  3. REST vs GraphQL: illustrated examples with the API Platform framework (PHPTour/SymfonyLive)
  4. API Platform and Symfony: a Framework for API-driven Projects (SymfonyCon)

2 thoughts on “Vulcain: HTTP/2 Server Push
 and the rise of client-driven REST APIs”

  1. Pingback: Vulcain: HTTP/2 Server Push and the rise of client-driven REST APIs - Rubin Shrestha
  2. Pingback: Using the “103 Early Hints” Status Code in Go Applications - Kévin Dunglas

Leave a Reply Cancel reply

Follow me on Twitter

My Tweets

Subscribe to this blog

Recent Posts

  • Read the Linux Manual Pages on Mac and BSD, Directly From the Terminal
  • Ne vous lamentez pas, organisez-vous !
  • FrankenPHP: The Modern Php App Server, written in Go
  • API Platform 3 Is Released!
  • Mercure 0.14: Major Performance Improvement and New Features

Top Posts & Pages

  • JSON Columns and Doctrine DBAL 3 Upgrade
  • Securely Access Private Git Repositories and Composer Packages in Docker Builds
  • API Platform 3 Is Released!
  • Symfony's New Native Docker Support (Symfony World)
  • Connection to a MS SQL Server from Symfony / Doctrine on Mac or Linux
  • Generate a Symfony password hash from the command line
  • FrankenPHP: The Modern Php App Server, written in Go
  • Preventing CORS Preflight Requests Using Content Negotiation
  • Goroutines, threads, and thread IDs
  • PHP 7: Introducing a domain name validator and making the URL validator stricter

Persistence in PHP with the Doctrine ORM

Persistence in PHP with the Doctrine ORM

Tags

Apache API API Platform Buzz Caddy Docker Doctrine Go Google GraphQL HTTP/2 Hydra hypermedia Hébergement Javascript JSON-LD Kubernetes La Coopérative des Tilleuls Les-Tilleuls.coop Lille Linux Mac Mercure Mercure.rocks Messagerie Instantanée MySQL PHP Punk Rock Python React REST Rock'n'Roll RSS Schema.org Security SEO SEO Symfony Symfony Live Sécurité Ubuntu Web 2.0 Wordpress XHTML XML

Archives

Categories

  • DevOps (25)
  • Mercure (4)
  • Opinions (91)
  • Programming (185)
    • Android (5)
    • Go (13)
    • JavaScript (43)
    • PHP (143)
      • API Platform (65)
      • Symfony (89)
    • Python (14)
      • Django (5)
  • Security (15)
  • SEO (24)
  • Talks (39)
  • Ubuntu (68)
  • Wordpress (6)

Social

  • Mastodon
  • Twitter
  • LinkedIn
  • YouTube
  • GitHub

Links

  • API Platform
  • Les-Tilleuls.coop
  • Mercure.rocks
  • Vulcain.rocks
© 2023 Kévin Dunglas | Powered by Minimalist Blog WordPress Theme