Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85594 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 57734 invoked from network); 31 Mar 2015 17:29:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 31 Mar 2015 17:29:35 -0000 Authentication-Results: pb1.pair.com smtp.mail=dennis@birkholz.biz; spf=unknown; sender-id=unknown Authentication-Results: pb1.pair.com header.from=dennis@birkholz.biz; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain birkholz.biz does not designate 144.76.185.252 as permitted sender) X-PHP-List-Original-Sender: dennis@birkholz.biz X-Host-Fingerprint: 144.76.185.252 mx01.nexxes.net Received: from [144.76.185.252] ([144.76.185.252:57385] helo=mx01.nexxes.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id D3/80-54064-C79DA155 for ; Tue, 31 Mar 2015 12:29:33 -0500 Received: from [137.226.183.192] (ip3192.saw.rwth-aachen.de [137.226.183.192]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: db220660-p0g-1@packages.nexxes.net) by mx01.nexxes.net (Postfix) with ESMTPSA id 38BD7480AFE; Tue, 31 Mar 2015 19:29:29 +0200 (CEST) Message-ID: <551AD979.9010605@birkholz.biz> Date: Tue, 31 Mar 2015 19:29:29 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: =?UTF-8?B?R3LDqWdvcnkgUGxhbmNoYXQ=?= , internals@lists.php.net References: <551AAB20.6060100@luni.fr> <551AD4BE.8010108@luni.fr> In-Reply-To: <551AD4BE.8010108@luni.fr> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] Re: HTTP/2 and Websocket support in 7.x versions From: dennis@birkholz.biz (Dennis Birkholz) Am 31.03.2015 um 19:09 schrieb Grégory Planchat: > Possible solutions would be : > 1. About multiplexing : > 1.a. integrate php-uv in the core in its current form and let > developers implement their own protocol layer > 1.b. transform some project like ReactPHP into an extension (using > Zephir and/or native C) > 1.c. create a new SAPI or extend an existing one, which woud offer the > possibility of manipulating the resource multiplexing queue. PHP would > still be in the Apache2/CGI stack, but would notify the server to send a > resource list I really don't see what action there is to take for PHP with regards to multiplexing. Currently, Apache seems not to support HTTP/2, other servers I don't know. But when Apache will support HTTP/2, multiplexing will most likely work similar to how it worked with SPDY (the predecessor to HTTP/2). You just send an additional header containing the files you want the server to provide to the client. mod_spdy used the X-Associated-Content-Header (see https://code.google.com/p/mod-spdy/wiki/OptimizingForSpdy) "More" multiplexing will mean multiple parallel execution paths within the engine but that kind of parallelism introduces a hell of concurrency problems nobody truly wants. > 2. About push: same as 1.a. and 1.b. Push can only work with long running PHP processes. I kind of agree a stable PHP daemon process mode/SAPI would be nice. That mode would be similar to a WebSockets mode which we should get in the future. But that has nothing to do with HTTP/2 from my perspective. Greets Dennis