HyperText Transfer
Protocol
Exposé RE12 - P16 , 17/06/2016
Sommaire
I. Introduction
II. Problématiques de HTTP/1.1
III. Présentation du Working Group
IV. SPDY
V. Objectif et fonctio...
Introduction
3
Google Httpbis
HTTP 1.1SPDY
HTTP 2
Veille
Travaille Travaille
Problématiques de HTTP/1.1
❖ Une connexion TCP par requête
❖ Grand nombre de requêtes →
Redondance de données
❖ Compressio...
Présentation du Working Group
Alexey Melnikov
Area Director
5
Mark Nottingham
Chair
Allison Mankin
Tech Advisor
• Créé en ...
SPDY
❖ Mode turbo
❖ Multiplexer les flux
❖ Compression d’en-têtes
❖ Priorité des requêtes
❖ Push server
6
7
SPDY
HTTP SPDY
SSL
TCP
IP
Objectif et fonctionnalités de HTTP/2
❖ Très similaire à SPDY
❖ Contrôle de flux
❖ En-tête commune de la taille d’un paque...
Le protocole HTTP/2 (1/8)
9
❖HTTP/2 est un protocole de la couche application, utilise TCP
❖HTTP/2 utilise les mêmes numér...
Le protocole HTTP/2 (2/8)
❖2 méthodes pour faire du HTTP/2
❖Avec TLS
❖Sans TLS
❖Avec TLS:
➢ Utilisation du protocole ALPN ...
Le protocole HTTP/2 (3/8)
11
❖ Sans TLS
➢ On envoie l’identifcateur ALPN “h2c” (HTTP/2 in clear)
➢ Pas de TLS => Pas de AL...
Le protocole HTTP/2 (4/8)
12
 Serveur qui ne gère pas HTTP/2
❖Serveur qui gère HTTP/2
❖h2 et h2c sont dans le registre de...
Le protocole HTTP/2 (5/8)
13
❖ Trame HTTP/2
Le protocole HTTP/2 (6/8)
14
❖ Payload Trame HTTP/2
Le protocole HTTP/2 (7/8)
15
❖ Payload Trame HTTP/2
Le protocole HTTP/2 (8/8)
❖Plusieurs types de Trame:
16
Sujets Connexes
❖ RFC 7541: HPACK : mécanisme de compression - Header Compression for
HTTP/2
❖ RFC6585: Additional Status ...
Conclusion
❖Moins de connexions TCP ouvertes
❖Moins de données envoyées
❖Moins d’aller/retour
❖Exemples de sites web en HT...
Sources
https://tools.ietf.org/html/rfc2616
https://tools.ietf.org/html/rfc7540
https://http2.github.io/faq/#is-it-http20-...
Prochain SlideShare
Chargement dans…5
×

HTTP/2

118 vues

Publié le

- Présentation du Working Group httpbis
- Problématiques de HTTP/1.1
- Objectifs de HTTP/2
- Fonctionnement de HTTP/2
- Sujets Connexes

Cette présentation a été utilisée en tant que support, pour une meilleur compréhension lire la RFC7540:
En anglais: https://tools.ietf.org/html/rfc7540
En français (Résumé): http://www.bortzmeyer.org/7540.html

Publié dans : Internet
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
118
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
1
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

HTTP/2

  1. 1. HyperText Transfer Protocol Exposé RE12 - P16 , 17/06/2016
  2. 2. Sommaire I. Introduction II. Problématiques de HTTP/1.1 III. Présentation du Working Group IV. SPDY V. Objectif et fonctionnalités de HTTP/2 VI. Le protocole HTTP/2 VII. Sujets Connexes VIII.Conclusion 2
  3. 3. Introduction 3 Google Httpbis HTTP 1.1SPDY HTTP 2 Veille Travaille Travaille
  4. 4. Problématiques de HTTP/1.1 ❖ Une connexion TCP par requête ❖ Grand nombre de requêtes → Redondance de données ❖ Compression des en-têtes faible ❖ Un serveur ne peux envoyer de données non requêtées 4 17 ans de service !
  5. 5. Présentation du Working Group Alexey Melnikov Area Director 5 Mark Nottingham Chair Allison Mankin Tech Advisor • Créé en octobre 2007 • Production: o RFC7230 : HTTP/1.1 Message Syntax and Routing o RFC7231 : HTTP/1.1 Semantics and Content o RFC7540 : HTTP/2 o RFC7541 : HPACK Header Compression for HTTP/2
  6. 6. SPDY ❖ Mode turbo ❖ Multiplexer les flux ❖ Compression d’en-têtes ❖ Priorité des requêtes ❖ Push server 6
  7. 7. 7 SPDY HTTP SPDY SSL TCP IP
  8. 8. Objectif et fonctionnalités de HTTP/2 ❖ Très similaire à SPDY ❖ Contrôle de flux ❖ En-tête commune de la taille d’un paquet ❖ Implémentation (testable) ➢ Client connus ➢ Serveur Apache 8
  9. 9. Le protocole HTTP/2 (1/8) 9 ❖HTTP/2 est un protocole de la couche application, utilise TCP ❖HTTP/2 utilise les mêmes numéros de port: 80 et 443 ❖Trame (Frame): unité de base de communication en HTTP/2 ❖Streams: héberge un seul échange requête/réponse ➢ Nouveau Stream à chaque fois qu’on a un nouveau GET ou POST à faire ➢ Ouverture unilatérale, pas triple poignée de mains ➢ Les streams ont des mécanismes de contrôle du trafic et prioritisation entre eux ❖Multiplexage des Streams dans une «rivière», l’unique connexion TCP entre le client HTTP et le serveur
  10. 10. Le protocole HTTP/2 (2/8) ❖2 méthodes pour faire du HTTP/2 ❖Avec TLS ❖Sans TLS ❖Avec TLS: ➢ Utilisation du protocole ALPN ( Application-Layer Protocol Negotiation Extension) ➢ ALPN avec l’identificateur h2 (HTTP/2 sur TLS) ➢ Le serveur reçoit “h2” et sait qu’on fait du HTTP/2 ➢ Échanges de trames en HTTP/2 10
  11. 11. Le protocole HTTP/2 (3/8) 11 ❖ Sans TLS ➢ On envoie l’identifcateur ALPN “h2c” (HTTP/2 in clear) ➢ Pas de TLS => Pas de ALPN ➢ Il est juste réservé pour information ➢ Utilisation de l’entête HTTP Upgrade
  12. 12. Le protocole HTTP/2 (4/8) 12  Serveur qui ne gère pas HTTP/2 ❖Serveur qui gère HTTP/2 ❖h2 et h2c sont dans le registre de l’IANA
  13. 13. Le protocole HTTP/2 (5/8) 13 ❖ Trame HTTP/2
  14. 14. Le protocole HTTP/2 (6/8) 14 ❖ Payload Trame HTTP/2
  15. 15. Le protocole HTTP/2 (7/8) 15 ❖ Payload Trame HTTP/2
  16. 16. Le protocole HTTP/2 (8/8) ❖Plusieurs types de Trame: 16
  17. 17. Sujets Connexes ❖ RFC 7541: HPACK : mécanisme de compression - Header Compression for HTTP/2 ❖ RFC6585: Additional Status Codes - 428, 429, 431 & 511 ❖ RFC7538: Status Code 308 (Permanent Redirect) – 308 ❖ Autres projets d’amélioration de HTTP ❖ HTTP Over Stream Control Transmission (remplace TCP) ❖ Structured Stream Transport (remplace TCP) ❖ MUX et SMUX (entre Transport et Application) 17
  18. 18. Conclusion ❖Moins de connexions TCP ouvertes ❖Moins de données envoyées ❖Moins d’aller/retour ❖Exemples de sites web en HTTP/2: https://tools.keycdn.com/http2- test?url=&public=1 18
  19. 19. Sources https://tools.ietf.org/html/rfc2616 https://tools.ietf.org/html/rfc7540 https://http2.github.io/faq/#is-it-http20-or-http2 https://datatracker.ietf.org/wg/httpbis/ https://tools.ietf.org/html/rfc7230 https://tools.ietf.org/html/rfc7231 https://tools.ietf.org/html/rfc7232 http://httpwg.org/specs/ https://tools.ietf.org/html/rfc7541 https://tools.ietf.org/html/rfc7301 19

×