Skip to content

Kévin Dunglas

Founder of Les-Tilleuls.coop (worker-owned cooperative). Creator of API Platform, FrankenPHP, 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 ReplyCancel reply

Social

  • Bluesky
  • GitHub
  • LinkedIn
  • Mastodon
  • X
  • YouTube

Links

  • API Platform
  • FrankenPHP
  • Les-Tilleuls.coop
  • Mercure.rocks
  • Vulcain.rocks

Subscribe to this blog

Top Posts & Pages

  • FrankenPHP: The Modern Php App Server, written in Go
  • FrankenPHP’s New Features: Thread Autoscaling, Mostly Static Binaries, deb and RPM Packages, Caddy 2.10…
  • JSON Columns and Doctrine DBAL 3 Upgrade
  • Develop Faster With FrankenPHP
  • Symfony's New Native Docker Support (Symfony World)
  • FrankenPHP Is Now Officially Supported by The PHP Foundation
  • FrankenPHP 1.3: Massive Performance Improvements, Watcher Mode, Dedicated Prometheus Metrics, and More
  • Preventing CORS Preflight Requests Using Content Negotiation
  • PHP and Symfony Apps As Standalone Binaries
  • Building Decentralized Web Apps with Solid and PHP

Tags

Apache API API Platform Buzz Caddy Docker Doctrine FrankenPHP 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 Messagerie Instantanée MySQL performance PHP Punk Rock Python React REST Rock'n'Roll Schema.org Security SEO SEO Symfony Symfony Live Sécurité Ubuntu Web 2.0 webperf XHTML XML

Archives

Categories

  • DevOps (85)
    • Ubuntu (68)
  • Go (19)
  • JavaScript (46)
  • Mercure (7)
  • Opinions (91)
  • PHP (172)
    • API Platform (77)
    • FrankenPHP (11)
    • Laravel (1)
    • Symfony (97)
    • Wordpress (6)
  • Python (14)
  • Security (15)
  • SEO (25)
  • Talks (46)
© 2025 Kévin Dunglas | Powered by Minimalist Blog WordPress Theme