2) Le slow start s'amplifie avec plusieurs connexions. Le slow-start est fait pour chacune des connexions en lieu et place d'une seule
Certes, mais si tu veux transférer quelques centaines de ko (une page web avec quelques images, css et js typiquement), tu iras quand même bien plus vite avec plusieurs connexions qu'avec une seule. C'est pour ça que les navigateurs font plusieurs connexions en parallèle : pour récupérer plus vite les ressources.
3) La connexion reste ouverte car il y a du trafic dessus via le SSE. Le keep-alive n'est nécessaire que quand il n'y en a pas. Il n'y a plusieurs méthodes pour le faire, je n'ai pas regardé la situation précise pour DLFP. EventSource ne défini pas la façon de faire mais juste une API
Je dis juste que la connexion reste ouverte pour un visiteur de la tribune car il a toujours une reponse HTTP qui n'a pas fini d'arriver et que cela n'a rien à voir avec le keep-alive.
4) Cela dépend, vous avez fait ce choix mais ce n'est pas le défaut.
La valeur par défaut d'Apache est de 15s, ce qui est toujours bien en-dessous des 115s du firefox. Je maintiens que dans la vraie vie, c'est le serveur et non pas le navigateur qui ferme les connexions keep-alive.
Note aussi que ton exemple avec time ne mesure pas du tout le keep-alive, mais le client_header_tiemout dans la terminologie nginx.
5) Attention, il ne faut pas confondre domaines différents et IP différentes. Les connections TCP sont ouvertes vers une IP et il peut y avoir plusieurs domaine par IP (virtualhost). Lors d'un get en HTTP/1.1, c'est « GET /index.html\n\rHost: moncomaine.com » donc ce n'est pas parce que tu as plusieurs domaines que tu ne peux pas ré-utiliser.
Sauf que dans la vraie vie, que le nouveau nom de domaine soit sur la même IP ou pas, le navigateur va quand même ouvrir une nouvelle connexion TCP au serveur.
[^] # Re: Hein ?
Posté par Bruno Michel (site web personnel) . En réponse au journal Réduire la latence des connections TCP, enfin. Évalué à 4. Dernière modification le 05 mai 2012 à 15:17.
Certes, mais si tu veux transférer quelques centaines de ko (une page web avec quelques images, css et js typiquement), tu iras quand même bien plus vite avec plusieurs connexions qu'avec une seule. C'est pour ça que les navigateurs font plusieurs connexions en parallèle : pour récupérer plus vite les ressources.
Je dis juste que la connexion reste ouverte pour un visiteur de la tribune car il a toujours une reponse HTTP qui n'a pas fini d'arriver et que cela n'a rien à voir avec le keep-alive.
La valeur par défaut d'Apache est de 15s, ce qui est toujours bien en-dessous des 115s du firefox. Je maintiens que dans la vraie vie, c'est le serveur et non pas le navigateur qui ferme les connexions keep-alive.
Note aussi que ton exemple avec
timene mesure pas du tout le keep-alive, mais le client_header_tiemout dans la terminologie nginx.Sauf que dans la vraie vie, que le nouveau nom de domaine soit sur la même IP ou pas, le navigateur va quand même ouvrir une nouvelle connexion TCP au serveur.