A noter que http/2 n'est plus compatible avec le MPM Prefork sous Apache 2.4.27 et supérieur.
Les change log d’Apache 2.4.27 indique juste
*) COMPATIBILITY: mod_http2: Disable and give warning when using Prefork. The server will continue to run, but HTTP/2 will no longer be negotiated. [Stefan Eissing] L'erreur dans les log Apache2 :
[Sat Sep 08 11:24:08.260643 2018] [http2:warn] [pid 12860] AH10034: The mpm module (prefork.c) is not supported by mod_http2. The mpm determines how things are processed in your server. HTTP/2 has more demands in this regard and the currently selected mpm will just not do. This is an advisory warning. Your server will continue to work, but the HTTP/2 protocol will be inactive.Le MPM prefork n'est aujourd'hui choisi que si vous exécutez des moteurs de traitement qui ne sont pas préparés pour le multithreading (par exemple qui se crashent lorsque plusieurs requêtes arrivent) => En conséquence les clients tels que les navigateurs internet envoient de nombreuses requêtes au même moment et le MPM prefork ne traitera qu'une requête à la fois par connexion. Si l'une d'entre elles est longue à traiter (ou implique une longue interrogation), les autres requêtes seront mises en attente.
Bref prefork, n’était adapté pour http/2 et j’imagine qu’il y a eu des cas où les clients n’appréciaient pas son comportement, d’où un retrait du http/2 pour ce MPM.
La solution est de basculer sur le MPM event et si PHP est nécessaire, il faut utiliser php7.x-fpm
http2 explained de Daniel Stenberg (l'auteur de curl) est un excellent document pour démarrer l'étude de HTTP/2. Ce document est comme ce forum couvert par la licence Creative Commons Attribution 4.0
(cliquez sur la miniature ci-dessous - le document est au format PDF)
