HTTP/2 & Django
ou comment rouler en charrette sur l'autoroute
DjangoCong 2015
Yannick PÉROUX (@k4nar)
Pourquoi un nouveau protocole ?
- 17 ans d'évolution du web
- Des pages plus lourdes et plus complexes
- Apparition des objets connectés
Ce qui ne va pas dans HTTP/1.1
- Trop sensible au Round Trip Time
- Ne prend pas assez en compte TCP
- Pas vraiment de parallélisme
Ce que fait ce développeur front pour contourner les problèmes d'HTTP/1.1 va vous étonner (la N°3 va vous faire recracher votre croissant) !
- Concaténation des ressources
- Répartitions sur plusieurs serveurs
- Inlining des images
- Sprites
- …
Les origines de HTTP/2
- 2009: Google débute SPDY
- 2012: SPDY sert de brouillon pour HTTP/2
- 2015: HTTP/2 devient un Proposed Standard
Un jour la RFC définitive arrivera
Ce qui change dans HTTP/2
Protocole binaire
Ce qui change dans HTTP/2
Multiplexing
Ce qui change dans HTTP/2
Server Push
Ce qui ne change pas dans HTTP/2
- Les verbes (GET, POST, PUT…)
- Les codes de statut (200, 404, 418…)
- Les headers utilisés
- …
Petite démonstration
HTTP/2 aujourd'hui
- Navigateurs: Firefox, Chrome, Opera, bientôt IE/Edge
- Serveurs: H2O, IIS, ~Apache, ~Nginx
- Clients HTTP: Hyper en Python
Ce que ça change pour le front
- Plus besoin de concaténation
- Plus besoin de spriting, inlining…
- Plus besoin de domain-sharding
Ne plus avoir peur de faire une requête !
Ce que ça change pour Django
- ???
- ???
- ???
Ce qui nous bloque
WSGI
Ce que ça pourrait changer pour Django
- Server push pour les statiques
- Server push pour les vues
- Répondre à plusieurs requêtes en même temps
Conclusion
- HTTP/2 est (presque) là
- HTTP/2 est cool
- Django n'est pas prêt
HTTP/2 & Django
By Yannick Péroux
HTTP/2 & Django
Présentation lors de la DjangoCong 2015 à Clermont-Ferrand
- 3,871