
Initialement nommé HTTP/2.0, HTTP/2 est la version majeure du protocole réseau HTTP utilisé sur le World Wide Web (WWW). Il est issu du protocole « expérimental » SPDY développé par Google. On peut aisément dire que HTTP2 résout pas mal de soucis contrairement à son prédécesseur HTTP 1.1 qui est sorti en 1999.

L’avancée majeure est qu’avec ce protocole, les requêtes HTTP2 peuvent être envoyées en rafale durant la même connexion TCP !
Utilisation de PHP FPM
Dans notre exemple, nous partons sur un serveur utilisant PHP 7.3. Pour pouvoir utiliser HTTP2, il convient avant tout, d’installer et d’utiliser php7.3-fpm. La grande différence entre PHP et PHP-FPM est la manière dont le moteur d’exécution est géré. En effet, en mode FPM, nous avons un service PHP qui instancie automatiquement X moteurs d’exécutions et les gardes allumés de manière « non-stop », gagnant ainsi du temps à chaque appel !
Installez php7.3-fpm ; rien de plus simple sous Debian :
$ apt-get install php7.3-fpm
Puis, activez les modules et les fichiers de configuration requis.
$ a2enmod proxy_fcgi
$ a2enmod setenvif
Si PHP est déjà présent dans votre installation Apache, vous devez d’abord désactiver le module standard Apache PHP.
$ a2dismod php7.3
Ensuite, activez le nouveau module PHP-FPM, et finalement désactivez le MPM par défaut Apache puis activez le nouveau Apache MPM.
$ a2enconf php7.3-fpm
$ a2dismod mpm_prefork
$ a2dismod mpm_worker
$ a2enmod mpm_event
Activez HTTP2 sur votre serveur
Pour activer un module, utilisez la commande a2enmod :
$ a2enmod http2
Ajoutez le protocole h2 dans le fichier de configuration d’Apache dans /etc/apache2/apache2.conf :
Protocols h2 http/1.1
Enfin, redémarrez le service Apache2
$ service apache2 restart
Comment tester si HTTP2 est activé sur votre serveur ?
Pour tester si HTTP2 est activé sur votre serveur ou sur votre domaine, utilisez la commande CURL :
$ curl -I -k --http2 https://promatec.digital
Dans notre exemple, nous testons l’URL promatec.digital, la commande renvoie bien le protocole utilisé :
HTTP/2 200
Vous pouvez également vérifier en utilisant un service en ligne exemple : https://tools.keycdn.com/http2-test

