17 min. lire

HTTP/2 : Le guide complet des performances du web moderne

Le protocole de transfert hypertexte a évolué de manière spectaculaire depuis sa création, et HTTP/2 représente l’une des avancées les plus significatives dans la manière dont nous transférons les données sur le web. Si vous avez remarqué que les pages web se chargent plus rapidement ces dernières années, il y a de fortes chances que le protocole HTTP/2 soit à l’œuvre en coulisses.

Ce guide présente tout ce que vous devez savoir sur HTTP/2, depuisses mécanismes de base et ses avantages en termes de performances jusqu’aux étapes pratiques de déploiement. Que vous soyez un développeur cherchant à optimiser votre serveur web ou simplement curieux de savoir ce qui fait fonctionner les sites web modernes, vous trouverez ici des informations exploitables.

Réponse rapide : Qu’est-ce que HTTP/2 et pourquoi est-ce important ?

HTTP/2 est une révision majeure de la version 1.1 du protocole de transfert hypertexte, normalisée par l’Internet Engineering Task Force dans la RFC 7540 (mai 2015). Il vise à réduire la latence, à améliorer l’utilisation des ressources du réseau et à accélérer considérablement le chargement des pages web, touten conservant une compatibilité ascendante totale avec la sémantique HTTP existante.

En 2026, l ‘adoption de HTTP/2 est presque omniprésente. Selon les données de W3Techs, plus d’un tiers des principaux sites web utilisent activement HTTP/2, et la plupart des principaux CDN (Cloudflare, AWS CloudFront, Fastly) l’activent par défaut pour le trafic HTTPS. Si votre site fonctionne sur HTTPS avec un serveur web moderne, vous bénéficiez probablement déjà de HTTP/2 sans configuration supplémentaire.

Le protocole présente plusieurs caractéristiques de premier plan qui remédient aux goulets d’étranglement de HTTP 1.1 en matière de performances :

  • Multiplexage : Plusieurs flux de données transitent simultanément par une seule connexion TCP.
  • Compression d’en-tête (HPACK) : Introduction de la compression des champs d’en-tête qui réduit considérablement les métadonnées redondantes de l’en-tête HTTP.
  • Couche de cadrage binaire : Une couche de trame totalement générique qui remplace les commandes textuelles par des messages binaires efficaces.
  • Serveur push : Fourniture proactive de ressources avant que le navigateur ne les demande explicitement.
  • Priorité aux flux : Indices du client indiquant aux serveurs les ressources les plus importantes.

Voici ce que cela signifie en pratique :

  • Chargement plus rapide des pages, en particulier sur les sites gourmands en ressources
  • Moins de connexions TCP nécessaires par origine
  • Meilleures performances sur les réseaux mobiles à forte latence
  • Amélioration générale de l’utilisation du réseau

De HTTP/0.9 à HTTP/2 : une brève histoire

Le protocole HTTP a parcouru un long chemin depuis que Tim Berners-Lee a introduit HTTP/0.9 en 1991 en tant que mécanisme simple de récupération de documents HTML. HTTP/1.0 a suivi en 1996, ajoutant des en-têtes et des codes d’état, et HTTP/1.1 a été normalisé dans la RFC 2068 (1997), puis affiné dans la RFC 2616 (1999). Pendant près de vingt ans, le protocole HTTP/1.1 a constitué l’épine dorsale de la communication client-serveur sur le web.

Mais le web a changé radicalement. Les pages web modernes sont passées de simples documents à des applications complexes chargeant des dizaines de bundles JavaScript, de fichiers CSS, d’images et d’appels d’API. Même avec des connexions à large bande et du matériel puissant, l ‘architecture HTTP/1.1 a créé des goulets d’étranglement:

  • Blocage en tête de ligne : Chaque connexion TCP ne peut traiter qu’une seule demande à la fois, ce qui entraîne un trafic inutile sur le réseau lorsque les ressources sont en file d’attente.
  • Surcharge de connexion : Les navigateurs web de bureau et les navigateurs web mobiles ouvrent généralement 6 à 8 connexions TCP parallèles par origine pour contourner cette limitation.
  • En-têtes redondants : Chaque requête HTTP envoie les mêmes en-têtes verbeux (cookies, user-agent, en-têtes acceptés) de manière répétée.

Google a reconnu ces problèmes et a lancé le projet SPDY en 2009. Mis en œuvre pour la première fois dans Chrome vers 2010, SPDY a introduit plusieurs innovations :

  • Cadrage binaire au lieu de protocoles textuels
  • Multiplexage de plusieurs demandes sur une seule connexion
  • Compression de l’en-tête pour réduire la charge de travail
  • Hiérarchisation des flux pour les ressources critiques

Le groupe de travail HTTP de l’IETF a vu le potentiel de SPDY et l’a adopté comme point de départ de HTTP/2 en 2012. Après un travail approfondi du groupe de travail HTTP de l’IETF, les RFC 7540 (HTTP/2) et RFC 7541 (HPACK) ont été publiées en mai 2015.

L’adoption des navigateurs s’est faite rapidement :

  • Chrome a abandonné SPDY en faveur de HTTP/2 à partir de Chrome 51 (mai 2016).
  • Firefox a ajouté la prise en charge de HTTP/2 dans la version 36 (février 2015).
  • Safari a suivi dans la version 9 (septembre 2015)
  • Microsoft Edge a été livré avec la prise en charge de HTTP/2 dès sa version initiale.
  • Même Internet Explorer 11 a obtenu la prise en charge de HTTP/2 sur Windows 8.1 et les versions ultérieures.

Objectifs de conception et principales différences par rapport à HTTP/1.1

HTTP/2 maintient une compatibilité totale avec la sémantique HTTP/1.1. Les méthodes telles que GET et POST fonctionnent de manière identique. Les codes d’état restent inchangés. Les URI et les champs d’en-tête HTTP suivent les mêmes règles. Ce qui change, c’est la façon dont ces données se déplacent sur le fil – les mécanismes de la couche de transport qui déterminent la vitesse de chargement réelle.

Les objectifs de conception du protocole étaient clairs :

ObjectifComment HTTP/2 y parvient
Réduire la latenceLe multiplexage élimine le blocage de la tête de ligne au niveau HTTP
Meilleure utilisation de la connexionUne seule connexion TCP traite toutes les demandes adressées à une origine
Couper le plafond de l’en-têteLa compression HPACK réduit les valeurs d’en-tête précédemment transférées
Améliorer les performances des téléphones portablesDes connexions moins nombreuses et des en-têtes plus petits profitent aux réseaux à forte latence

La beauté de cette conception réside dans la compatibilité ascendante au niveau de l’application. Le code de votre application web existante – routes, gestionnaires, logique de réponse – n’a pas besoin d’être modifié. Seule la pile de clients et de serveurs doit prendre en charge HTTP/2 pour en tirer profit.

Cela contraste fortement avec les solutions de contournement de HTTP/1.1 que les développeurs devaient mettre en œuvre manuellement :

  • Le partage de domaines : Répartir les actifs sur plusieurs domaines afin d’ouvrir davantage de connexions.
  • Concaténation d’actifs : Regrouper les fichiers CSS et JavaScript pour réduire les requêtes
  • Sprites d’images : Combinaison de plusieurs images en un seul fichier
  • Inlining : Intégration de CSS et de JavaScript directement dans le code HTML

Les mécanismes de base de HTTP/2 remplacent ces piratages :

  • Couche de cadrage binaire : Les messages divisés en trames transportent efficacement les données sous forme d’unités de protocole binaires.
  • Flux multiplexés : Plusieurs échanges simultanés ont lieu sur la même connexion.
  • Compression des en-têtes HPACK : Des tableaux dynamiques suivent les en-têtes, éliminant ainsi la redondance.
  • Serveur poussé (push) : Les serveurs envoient de manière proactive les ressources dont le client aura besoin.
  • Hiérarchisation des flux : Les clients signalent les ressources les plus importantes par le biais des poids de dépendance des flux.

Cadrage binaire, flux, messages et multiplexage

Au cœur du protocole HTTP/2 se trouve la couche de cadrage binaire, qui constitue un changement fondamental par rapport au format textuel du protocole HTTP/1.1. Chaque message HTTP est décomposé en trames binaires avec une disposition cohérente : un en-tête de trame de 9 octets contenant la longueur, le type, les drapeaux et les identificateurs de flux, suivi de données utiles facultatives.

La compréhension de la hiérarchie passe par l’appréhension de trois concepts :

Les flux sont des canaux indépendants et bidirectionnels au sein d’une même connexion. Chaque flux possède un identifiant unique de 31 bits. Les clients initient les flux avec des identifiants impairs (1, 3, 5…), tandis que les serveurs utilisent des identifiants pairs (2, 4, 6…) pour les flux initiés par le serveur, tels que push. Un identifiant de flux inattendu déclenche une erreur. Le paramètre « Maximum concurrent streams » (nombre maximal de flux simultanés) détermine le nombre de flux qui peuvent être actifs simultanément.

Les messages représentent des demandes ou des réponses HTTP complètes. Un bloc d’en-tête complet se compose d’une ou de plusieurs trames, et les réponses peuvent comprendre plusieurs trames de données pour le corps du message. Lorsqu’un récepteur rencontre des fragments de bloc d’en-tête, il les réassemble pour reconstituer le message complet.

Les trames sont les plus petites unités sur le câble. Les types de trames et d’erreurs les plus courants sont les suivants :

  • Trames DATA : transportent le contenu du corps de la demande/réponse
  • Trame HEADERS : Contient des champs d’en-tête HTTP, éventuellement répartis sur plusieurs trames appelées fragments de bloc d’en-tête.
  • PARAMÈTRES : Messages de contrôle de la connexion pour la configuration
  • WINDOW_UPDATE : Ajustements de la fenêtre de contrôle des flux
  • PUSH_PROMISE : Annonce la poussée du serveur
  • RST_STREAM : Met fin à un flux avec un code d’erreur
  • GOAWAY : Initie l’arrêt gracieux de la connexion

La magie opère grâce au multiplexage. Comme les trames de plusieurs flux ouverts simultanément peuvent être entrelacées sur une seule connexion TCP – l’un ou l’autre des points d’extrémité intercalant les trames en fonction des besoins – il n’y a pas d’attente. Le récepteur réassemble les trames par identifiant de flux.

Pensez à charger une page web typique qui a besoin de.. :

  • index.html (10 KB)
  • styles.css (25 KB)
  • app.js (100 KB)
  • logo.png (15 KB)
  • image-hero.jpg (200 KB)

Avec HTTP/1.1, votre navigateur ouvre plusieurs connexions pour les récupérer en parallèle, ce qui continue de poser des problèmes de limites. Avec HTTP/2, les cinq ressources sont transmises simultanément sur une connexion sous forme de flux de données multiples. Les trames de données des différents flux s’entrelacent, le client et le serveur gérant efficacement l’ensemble de la connexion.

Il n’est donc plus nécessaire d’établir plusieurs connexions TCP, ce qui réduit la charge de la fenêtre de contrôle du flux de connexion et améliore considérablement les performances du web.

Compression d’en-tête avec HPACK

HPACK, défini dans la RFC 7541 (publiée en même temps que HTTP/2 en mai 2015), fournit une compression d’en-tête spécifiquement conçue pour HTTP/2. Cela est important car les en-têtes HTTP/1.1 étaient verbeux et complètement non compressés, ce qui entraînait un trafic réseau inutile à chaque requête.

Considérez les en-têtes d’une requête HTTP typique :

Host: example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)...
Accept: text/html,application/xhtml+xml,application/xml;q=0.9...
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Cookie: session=abc123def456; tracking=xyz789...

Ces en-têtes dépassent souvent 700 à 800 octets par requête. Avec les cookies, ils peuvent atteindre plusieurs kilo-octets. Si vous multipliez ce chiffre par des dizaines de demandes par page, vous gaspillez une bande passante considérable, ce qui est particulièrement pénible sur les réseaux mobiles.

HPACK compresse les en-têtes par le biais de trois mécanismes :

  1. Tableau statique : 61 paires champ/valeur d’en-tête communes prédéfinies (comme :method : GET ou :status : 200) qui n’ont jamais besoin d’être transmises.
  2. Tableau dynamique : Une table spécifique à la connexion que le client et le serveur construisent ensemble, stockant les valeurs d’en-tête précédemment transférées pour les réutiliser.
  3. Codage de Huffman : Les valeurs des chaînes sont codées à l’aide d’une table de Huffman prédéfinie, ce qui permet de réduire la taille des représentations textuelles.

Le résultat est spectaculaire. Une fois que la première requête a établi des en-têtes communs dans la table dynamique, les requêtes suivantes peuvent ne transmettre que des références d’index. Les en-têtes qui représentaient au départ des kilo-octets se réduisent à quelques dizaines d’octets.

HPACK a été spécialement conçu pour éviter les vulnérabilités de sécurité telles que CRIME et BREACH qui affectaient les schémas de compression antérieurs tels que DEFLATE de SPDY. En utilisant des codes Huffman statiques et une gestion minutieuse des tables, HPACK empêche les attaquants d’utiliser l’analyse du taux de compression pour extraire des secrets des données mixtes attaquant/victime.

Il convient de noter que HPACK n’opère que sur les en-têtes HTTP. Les corps des réponses utilisent toujours des mécanismes de codage de contenu standard tels que gzip ou Brotli au niveau de la couche HTTP, indépendamment de la compression des en-têtes.

Priorité à la poussée du serveur et au flux de données

HTTP/2 introduit deux fonctions d’optimisation conçues pour remplacer les solutions de contournement de HTTP/1.1 : la poussée du serveur pour une livraison proactive des ressources et la hiérarchisation des flux pour un ordonnancement intelligent des ressources.

Poussée du serveur

Le push serveur permet à un serveur web d’envoyer des ressources au client avant qu’elles ne soient explicitement demandées. Ce mécanisme fonctionne grâce aux trames PUSH_PROMISE :

  • Le client demande /index.html
  • Le serveur répond avec du HTML mais envoie également des frames PUSH_PROMISE annonçant qu’il va pousser /styles.css et /app.js.
  • Le serveur envoie ces ressources sur de nouveaux flux initiés par le serveur (avec des identifiants de flux utilisant des nombres pairs, conformément aux règles d’attribution des identifiants de flux de valeur inférieure).
  • Le navigateur reçoit les ressources avant que l’analyse HTML ne découvre qu’il en a besoin.

Cela permet d’éviter les allers-retours. Au lieu de :

  1. Demande de HTML → Réception de HTML
  2. Analyse du code HTML, découverte des CSS nécessaires → Demande de CSS
  3. Analyse du CSS, découverte des polices nécessaires → Demande de polices

La poussée des serveurs réduit les étapes 2 et 3 à l’étape 1.

Cependant, la poussée des serveurs s’est avérée problématique dans la pratique :

  • Les navigateurs peuvent déjà avoir des ressources en cache, ce qui rend les poussées inutiles.
  • Des serveurs mal configurés poussent trop agressivement, gaspillant la bande passante.
  • Les mécanismes de résumé de cache n’ont jamais été adoptés à grande échelle
  • De nombreux CDN et navigateurs limitent ou désactivent désormais la fonction « push » par défaut.

Les clients peuvent désactiver complètement le push en définissant SETTINGS_ENABLE_PUSH = 0 dans leur préface de connexion. Lorsque la préface de connexion d’un client désactive immédiatement la fonction « push », la préface de connexion du serveur se compose d’un accusé de réception et d’une conformité.

Priorité aux cours d’eau

La priorisation des flux permet aux clients de signaler l’importance des ressources, ce qui aide les serveurs à allouer la bande passante de manière efficace. Le mécanisme utilise :

  • Pondération : Valeurs de 1 à 256 indiquant l’importance relative
  • Dépendances : Les flux peuvent dépendre d’autres flux, formant un arbre de dépendance via les déclarations de dépendance des flux.

Exemple pratique :

  • Flux HTML (poids 256, pas de dépendance) – priorité absolue
  • Flux CSS (poids 200, dépend du HTML) – priorité élevée
  • Images en haut de page (poids 100, dépend du CSS)
  • JavaScript analytique (poids 16, dépend du HTML) – faible priorité

Cela garantit que les ressources critiques du chemin de rendu arrivent en premier, ce qui améliore la vitesse de chargement perçue, même si le temps de transfert total reste similaire.

Il est important de faire des mises en garde :

  • L’établissement de priorités est consultatif et non obligatoire
  • Les implémentations de serveurs varient considérablement dans la manière dont elles respectent les priorités
  • Les intermédiaires (mandataires, CDN) peuvent réorganiser les trames.
  • Le réglage nécessite des tests avec un trafic réel, et non des hypothèses.

La limite de flux simultanés annoncée affecte le nombre de flux qui peuvent avoir des priorités actives en même temps.

Contrôle de flux, gestion des erreurs et considérations de sécurité

HTTP/2 met en œuvre son propre contrôle de flux et sa propre gestion des erreurs au-dessus de TCP, pour répondre aux scénarios dans lesquels l’intelligence de la couche application est plus performante que les valeurs par défaut de la couche transport.

Contrôle du débit

Le contrôle de flux empêche les expéditeurs rapides de submerger les récepteurs lents. HTTP/2 utilise un système basé sur le crédit avec les trames WINDOW_UPDATE :

  • Chaque flux a sa propre fenêtre de contrôle du flux du récepteur
  • La connexion dispose également d’une fenêtre de contrôle du flux de la connexion
  • Taille de la fenêtre par défaut : 65 535 octets (64 KB)
  • Les expéditeurs ne peuvent pas transmettre des trames de DONNEES dépassant la fenêtre disponible du récepteur.
  • Les récepteurs envoient des trames WINDOW_UPDATE pour accorder plus de crédit.

Caractéristiques principales :

  • Le contrôle de flux se fait saut par saut (s’applique entre chaque paire émetteur/récepteur).
  • Il ne peut pas être désactivé
  • Seules les trames DATA comptent pour la fenêtre ; les autres données obligatoires de la trame ne comptent pas.
  • Le contrôle du débit et le contrôle du débit de connexion fonctionnent indépendamment l’un de l’autre

Cela évite qu’un seul flux rapide ne monopolise les ressources de connexion, ce qui est particulièrement important lorsque des proxys ou des CDN se trouvent entre les clients et les origines.

Gestion des erreurs

HTTP/2 fournit un signal d’erreur granulaire :

  • Erreurs au niveau du flux : RST_STREAM met immédiatement fin à un flux sans affecter les autres, avec des codes d’erreur tels que PROTOCOL_ERROR ou FLOW_CONTROL_ERROR.
  • Erreurs au niveau de la connexion : GOAWAY interrompt gracieusement la connexion, ce qui permet de terminer les demandes en cours de vol tout en empêchant les nouvelles demandes.

Le protocole définit un registre de codes d’erreur comprenant :

  • PROTOCOL_ERROR (0x1) : Violation générale du protocole
  • FLOW_CONTROL_ERROR (0x3) : Les règles de contrôle de flux ont été violées
  • FRAME_SIZE_ERROR (0x6) : Cadre dépassé SETTINGS_MAX_FRAME_SIZE
  • INADEQUATE_SECURITY (0xc) : La configuration de la sécurité de la couche transport est insuffisante

Considérations relatives à la sécurité

Bien que la RFC 7540 n’exige pas techniquement le cryptage, tous les principaux navigateurs web exigent que le protocole HTTP/2 utilise la sécurité de la couche de transport (TLS). Cela fait de TLS 1.2+ la référence de facto :

  • La connexion commence par une poignée de main TLS comprenant l’ALPN (Application-Layer Protocol Negotiation).
  • L’extension ALPN négocie l’identifiant « h2 » pour HTTP/2
  • Les serveurs doivent éviter les suites de chiffrement faibles figurant sur la liste noire de la spécification.
  • Les suites de chiffrement utilisant RC4 ou d’autres algorithmes obsolètes déclenchent des erreurs INADEQUATE_SECURITY.

Les considérations relatives à la protection de la vie privée sont les suivantes :

  • SETTINGS et les modèles de priorité permettent de relever les empreintes digitales des clients
  • Une seule connexion par origine permet de corréler toute l’activité de l’utilisateur à cette origine.
  • Le protocole binaire masque le trafic mais ne le cache pas aux observateurs du réseau

Blocage du TCP en tête de ligne

HTTP/2 résout le problème du blocage de la tête de ligne au niveau HTTP grâce au multiplexage, mais le blocage au niveau TCP demeure. Lorsqu’un paquet TCP est perdu, tous les flux de cette connexion sont bloqués jusqu’à ce que la retransmission soit terminée, même les flux dont les données sont bien arrivées.

Cette limitation a motivé HTTP/3, qui fonctionne sur QUIC (basé sur UDP) pour fournir une véritable indépendance de flux. La perte de paquets affectant un flux ne bloque pas les autres.

Déploiement et utilisation de HTTP/2 dans la pratique

En 2026, l’activation de HTTP/2 est simple. La plupart des serveurs web et des CDN modernes le prennent en charge dès le départ, principalement via HTTPS. Le mécanisme de mise à niveau HTTP gère la négociation de manière transparente.

Exigences côté client

Les utilisateurs n’ont rien à faire de particulier :

  • Tous les navigateurs web modernes (Chrome, Firefox, Safari, Edge) prennent en charge HTTP/2 par défaut.
  • Les navigateurs web mobiles (Chrome pour Android, Safari pour iOS) offrent une prise en charge complète.
  • La compatibilité avec les versions actuelles des navigateurs est assurée
  • HTTP/2 négocie automatiquement lorsqu’il est disponible

Configuration côté serveur

Serveur HTTP Apache (2.4.17+) :

  • Activez le module mod_http2 (pas l’ancien mod_spdy)
  • Ajouter les protocoles h2 http/1.1 aux hôtes virtuels TLS
  • Assurez-vous que la version d’OpenSSL supporte ALPN

Nginx (1.9.5+) :

server {
    listen 443 ssl http2;
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    # ... rest of configuration
}

IIS (Windows Server 2016+) :

  • HTTP/2 activé par défaut pour HTTPS avec TLS 1.2+.
  • Aucune configuration supplémentaire n’est nécessaire

Fournisseurs de CDN :

  • Cloudflare : HTTP/2 activé par défaut sur tous les plans
  • AWS CloudFront : Activé par défaut pour les distributions HTTPS
  • Fastly : supporté et activé par défaut

Vérification et dépannage

Confirmez que HTTP/2 fonctionne avec cette liste de contrôle :

  • Navigateur DevTools : Ouvrez l’onglet Réseau, activez la colonne Protocole, recherchez « h2 ».
  • Ligne de commande : curl –http2 -I https://example.com montre une réponse HTTP/2
  • Outils en ligne : Services de test HTTP/2 : vérifiez la configuration
  • Vérifiez les intermédiaires : Le CDN ou le proxy inverse doit prendre en charge HTTP/2, et pas seulement le serveur d’origine.

Problèmes courants empêchant l’utilisation de HTTP/2 :

  • Version d’OpenSSL trop ancienne pour la prise en charge de l’ALPN
  • Configuration TLS 1.0/1.1 uniquement
  • Suites de chiffrement faibles déclenchant le repli
  • Un proxy mal configuré supprime la prise en charge de HTTP/2

HTTP/2 et au-delà

HTTP/2 reste le protocole dominant pour la communication web moderne, même si HTTP/3 (RFC 9114, publié en 2022) commence à être déployé. HTTP/3 résout le problème du blocage des têtes de ligne TCP en fonctionnant sur QUIC, mais le modèle de connexion TCP unique de HTTP/2 continue de servir efficacement la majorité du trafic web.

Pour la plupart des sites, HTTP/2 permet d’améliorer considérablement les performances web avec un minimum d’efforts de configuration. Commencez dès aujourd’hui à échanger des trames via HTTP/2 et vos utilisateurs, qu’ils soient sur ordinateur ou sur mobile, verront leurs pages se charger plus rapidement et plus efficacement.

Principaux enseignements

  • HTTP/2 révolutionne les performances du web grâce au multiplexage, qui permet plusieurs échanges simultanés sur une seule connexion.
  • La compression de l’en-tête HPACK élimine la transmission redondante de l’en-tête, ce qui profite particulièrement aux utilisateurs mobiles.
  • La poussée des serveurs et la priorisation des flux optimisent la distribution des ressources, bien que la mise en œuvre varie.
  • Le contrôle de flux permet d’éviter la pénurie de ressources sur plusieurs flux.
  • Le déploiement est simple sur les serveurs modernes, nécessitant principalement une configuration HTTPS.
  • Tous les principaux navigateurs prennent en charge HTTP/2, ce qui rend l’adoption transparente pour les utilisateurs finaux.

Prochaines étapes

Si vous n’avez pas vérifié HTTP/2 sur votre serveur web, c’est le moment. Ouvrez les outils de développement de votre navigateur, chargez votre site et vérifiez la colonne Protocole. Si vous voyez « http/1.1 » au lieu de « h2 », revoyez la configuration de votre serveur : vous risquez de laisser échapper d’importants gains de performance.

Pour ceux qui utilisent déjà HTTP/2, pensez à surveiller les paramètres de connexion HTTP/2 de votre serveur. Comprendre comment plusieurs flux simultanés se comportent en cas de trafic réel permet d’identifier les possibilités d’optimisation avant que vos utilisateurs ne remarquent des problèmes.