Quelle est la différence entre HTTP 1.1 et HTTP 2.0? [fermé]

223

HTTP / 1.1 a bien servi le Web depuis plus de quinze ans, mais son âge commence à se montrer.

Quelqu'un peut-il expliquer quelle est la principale différence entre HTTP 1.1 et 2.0?

Y a-t-il un changement dans le protocole de transport?

ivanleoncz
la source
1
daniel.haxx.se/http2/http2-v1.9.pdf Voyez par vous-même les nouveautés de HTTP2
TylerH
1
cette vidéo semble bonne pour parler de ces sujets youtube.com/watch?v=0L5Q_897fwk
Gujarat Santana
La section 'Introduction' de tools.ietf.org/html/rfc7540 est la source la plus pure et la meilleure pour faire la différence entre HTTP 1.1 et HTTP 2.0
bayCoder

Réponses:

190

HTTP / 2 prend en charge le multiplexage des requêtes, la compression des en-têtes, la priorité et une gestion plus intelligente du streaming de paquets. Cela se traduit par une latence réduite et accélère le téléchargement de contenu sur les pages Web modernes.

Plus de détails ici.

84RR1573R
la source
6
Juste pour en ajouter un de plus, http / 2 spécifie également la poussée du serveur. En savoir plus à ce sujet ici: en.wikipedia.org/wiki/HTTP/2_Server_Push
Nitin Bansal
87

HTTP 2.0 est un protocole binaire qui multiplexe de nombreux flux passant par une seule connexion TCP (normalement cryptée TLS).

Le contenu de chaque flux est constitué de requêtes et de réponses HTTP 1.1, juste codées et emballées différemment. HTTP2 ajoute un certain nombre de fonctionnalités pour gérer les flux, mais laisse la vieille sémantique intacte.

phihag
la source
41
Le cryptage TLS n'est pas facultatif. Il peut être facultatif par le protocole, mais pas dans le monde réel. Chrome et les autres navigateurs n'accepteront pas http2 sans https. Ainsi, dans le monde réel, si vous activez http2 sans installer de certificat sur votre serveur, les navigateurs se connecteront simplement avec http1.
Patrick Collins
@PatrickCollins En fait, les navigateurs se connecteront avec HTTP2 mais ne feront que lancer le téléchargement du flux de paquets binaires. Ils ne savent tout simplement pas comment afficher le contenu HTTP2 sans SSL.
Avamander
3
Cette réponse est trompeuse dans l'affirmation que http / 2 ne fait qu'emballer et encoder les requêtes http / 1.1. Il existe des différences spécifiques. Par exemple, les en-têtes sont envoyés séparément du corps / de la charge utile. En outre, le format d'en-tête a légèrement changé - où dans http / 1.x la méthode, l'uri, les codes de réponse et les versions de protocole sont passés dans la première ligne, appelée la ligne de demande. Http / 2 introduit le concept de psuedoheaders, placé avant tous les autres en-têtes et préfixé avec a :pour gérer ces aspects, à l'exception de la version de protocole, qui n'a pas d'équivalent dans http / 2.
Erikest
2
De plus, bien que les en-têtes ne respectent pas la casse, le protocole nécessite une transmission en minuscules.
Erikest