6. La fin du HTTP/1.1 (1/2)La fin du HTTP/1.1 (1/2)
● 15 ans existance
● Le Poids des pages a augmenté
● Nouvelles façon de consommer le Web
● Emissions de multi-requêtes en parallèles
● Le Web et les API métiers
Webservices
● Pb : Trop de connexions
● HTTP a trop d'options
– Mal utilisé (taille de transferts
– Latence
– ...
(c) Oracle and Orits affiliates
Le poids des pages
2010 : 702 KB (70 requetes)
2014 : 2 MB (100 requetes)
7. La fin du HTTP/1.1 (2/2)La fin du HTTP/1.1 (2/2)
● Streaming media
– Différents protocoles
– RTMP : Flash
– Utilisation partielle du HTTP
– Utilisation du Javascript
● Prévoir différents formats dans une page web
● Nombreuses pertes de paquets
<video controls>
<source src="movie/video1.webm">
<source src="movie/video1.mp4">
<source src="movie/video1.flv">
</video>
8. HTTP/2, qu'est ce ?HTTP/2, qu'est ce ?
● Développé par IETF (HTTP Working Group)
● Basé sur SPDY
– Protocole développé par Google (2009)
– Résoudre les limites de HTTP/1.1
– Gain important sur Firefox, nginx
● Contributeurs :
– Firefox, Chrome,
– Twitter, CURL,
– Akamai...
11. HTTP/2 : Multiplexage (1/3)HTTP/2 : Multiplexage (1/3)
● Multiplexage des requêtes au serveur
● Plusieurs informations/demandes
– dans la même connexion TCP
● Exécution de requêtes en simultanés
par le navigateur
– Ex : CSS, images, JS…
● Avant Ordre et blocage
● Connexion en parallèle
● Sharding sur plusieurs domaines pour faire
des requetes en parallèle/enlever les cookies
14. HTTP/2 : Stream dependencies (1/2)HTTP/2 : Stream dependencies (1/2)
● Permet aux serveurs de 'pousser' les réponses de manière
proactive dans les caches des clients
● Possible d'indiquer au serveur les ressources les plus
importantes
16. HTTP/2 : HeadersHTTP/2 : Headers
● Compression des requêtes et des réponses
● Binaire (avant c'était du textuelle)
● Compresser les actifs
Referer, Cookie's…
● Réduire la charge
17. HTTP/2 : Server push (1/2)HTTP/2 : Server push (1/2)
● Plusieurs connexions (parallélisme)
● Le plus pour les Systèmes d'informations
● Serveur peut envoyer des ressources vers l'internaute avant de
les demandés
– Images, CSS, Javascript
● Utilisation du cache
● Equilibrer les performances et l'utilité
20. On évite...On évite...
● Quelques fonctionnalités HTTP/1.1
– Domaine fragmentation
– L'image spriting
– Ressources en doublure
– Concaténation
21. WebPerf ?WebPerf ?
● Optimisation de la couche TCP
– Plusieurs connexions en TCP
– Durée de connexion plus longue
et unique
– Plus de perte de paquets
22. Sécurité ?Sécurité ?
● Chiffrement
● Sécurité de la navigation
● Intérêt pour le TLS
● Chiffrement des échanges
– Serveurs ↔ navigateurs