From be97479321fd47edf96eb178fff99d2b6cb55f7b Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Fri, 13 Sep 2019 11:46:08 +0100 Subject: [PATCH] Live blogging from SymfonyLive London 2019 --- ...-09-13-live-blogging-symfonylive-london.md | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/source/_posts/2019-09-13-live-blogging-symfonylive-london.md b/source/_posts/2019-09-13-live-blogging-symfonylive-london.md index 0ef6eade..e8bf8303 100644 --- a/source/_posts/2019-09-13-live-blogging-symfonylive-london.md +++ b/source/_posts/2019-09-13-live-blogging-symfonylive-london.md @@ -249,12 +249,19 @@ foreach ($client->stream($responses) as $response => $chunk) { ### The components * `NativeHttpClient` and `CurlHttpClient` - - both provide 100% contracts - - secure directs - - extended (time) info - - transparent HTTP compression and (de)chunking - - automatic HTTP proxy configuration via env vars -* `NativeHttpClient` is most portable, works for everyone - - based on HTTP stream wrapper with fixed redirect logic - - blocking until response headers arrive - - + - both provide + + 100% contracts + + secure directs + + extended (time) info + + transparent HTTP compression and (de)chunking + + automatic HTTP proxy configuration via env vars +#### `NativeHttpClient` +- is most portable, works for everyone +- based on HTTP stream wrapper with fixed redirect logic +- blocking until response headers arrive + +#### `CurlHttpClient` +- Requires ext-curl with fixed redirection logic +- Multiplexing response headers and bodies +- Leverages HTTP/2 and PUSH when available +- Keeps connections open also between synchronous requests, no DNS resolution so things are faster