Viewing profile — kdunglas
kdunglas
HN member- Joined
- Wed, Sep 12, 2018, 2:50 PM UTC
- HN karma
- 1,176
- Public activity
- 62 items
- HN profile
- View on Hacker News ↗
About kdunglas
Creator of mercure.rocks, frankenphp.dev and api-platform.com and vulcain.rocks. Co-maintainer of the Symfony framework and the Caddy web server.
[ website: https://dunglas.fr, twitter: https://twitter.com/dunglas ]
Recent public activity
- story
-
comment
Comment #42590244
WebSub cannot be used by browsers because browsers cannot receive POST requests. WebSub is for server to server communications. Mercure is basically WebSub over SSE. The draft has …
-
comment
Comment #42575874
Yes, as it 's "just" SSE, this works pretty well behind Cloudflare and other similar solutions. Mercure also automatically sends the NGINX-specific headers required to allow unbuff…
-
comment
Comment #42572721
Once the connection is upgraded, you loose all metadata included in the HTTP headers (because it’s not HTTP) and all protections relying on it. Also CORS and SOP can be bypassed: h…
-
comment
Comment #42572628
This limitation is gone with HTTP/2 and HTTP/3 and the Mercure hub automatically use the most recent protocol supported by the browser.
-
comment
Comment #42572587
Hi, Mercure author here. Indeed that's how it works. One of the key point of the solution is that you don't need anything client-side. The native EventSource class is all you need …
-
comment
Comment #42572529
Hi, Mercure author here. WebSockets are hard to secure (they totally bypass CORS as well as other browser built-in protections), don't work (yet) with HTTP/3 and for most use cases…
-
comment
Comment #42512719
SSE/Mercure (as WebSockets) is much battery-efficient than polling (push vs poll, less bandwidth used). Additionally, on controlled environnements, SSE can use a « push proxy » to …
-
comment
Comment #42511691
A while ago I created Mercure: an open pub-sub protocol built on top of SSE that is a replacement for WebSockets-based solutions such as Pusher. Mercure is now used by hundreds of …
- story
-
comment
Comment #41288493
The Symfony framework (PHP) provides a similar feature, which also relies on LISTEN/NOTIFY and FOR UPDATE SKIP LOCKED: https://symfony.com/doc/current/messenger.html#doctrine-tran.…
-
comment
Comment #40523339
That's not the case with other engines able to keep the booted app in memory to handle several requests (FPM doesn't support this).
-
comment
Comment #40523243
This script is entirely optional and is only used to create static builds of FrankenPHP or to create self-executable PHP apps. It doesn't require a Docker image but does need some …
-
comment
Comment #40523203
Optionally, you can embed the PHP scripts in the final binary using a Go feature similar to `include_bytes`: https://frankenphp.dev/docs/embed/ But for PHP, it's even simpler: PHP …
-
comment
Comment #40521370
This means that in addition to any PSR-7 implementation, you can run apps using HttpFoundation (Symfony, Laravel, Drupal, etc) and "legacy" code using superglobals without the need…
-
comment
Comment #40520905
Unlike Laravel and Symfony, WordPress doesn't support the worker mode of FrankenPHP (yet?), so there are not many benefits in terms of performance (except the ability to preload as…
-
comment
Comment #40520851
Hi, FrankenPHP author here. We would very much appreciate a reproducer. According to most benchmarks, FrankenPHP is generally much faster (~3 times) than FPM when worker mode is en…
-
comment
Comment #39753061
I maintain the Mercure protocol (built on SSE) and the reference implementation (written in Go, available as a standalone binary and a Caddy module) which does exactly that: https:…
- story
- story
- story
-
comment
Comment #33209148
I haven't tested it yet, but yes it's a stated goal.
-
comment
Comment #33208207
Definitely! (using xcaddy and compiling PHP yourself, for now)
-
comment
Comment #33208167
The approach isn't the same: Roadrunner executes php-cli and connects it to its web server through GRPC; FrankenPHP uses an ad-hoc SAPI, it is more like Apache's mod_php, the Go co…
- story