Maintenir des connexions simultanées en HTTP?
-
22-07-2019 - |
Question
Je dois gérer plusieurs connexions AJAX actives à pooling long sur le serveur Web.
Je sais que la plupart des navigateurs ne permettent pas plus de 2 connexions simultanées au même serveur. C’est ce que le protocole HTTP 1.1 déclare:
Clients utilisant persistant les connexions DEVRAIENT limiter le nombre de connexions simultanées qu'ils maintenir à un serveur donné. UNE le client mono-utilisateur NE DEVRAIT PAS maintenir plus de 2 connexions avec serveur ou proxy. Un proxy DEVRAIT utiliser à 2 * N connexions à un autre serveur ou proxy, où N est le nombre de utilisateurs simultanément actifs. Celles-ci les lignes directrices sont destinées à améliorer Temps de réponse HTTP et éviter congestion.
Si j'ai deux sous-domaines Server1.MyWebSite.Com et Server2.MyWebSite.Com partageant la même adresse IP , pourrai-je établir 2x2 connexions simultanées?
La solution
Il semble que différents noms d'hôte sur la même adresse IP puissent être utiles . . Vous pouvez rencontrer des problèmes lors de l'établissement de connexions AJAX en raison de la règle de provenance identique .
Modifier: conformément à votre question document.domain (à partir de Manuel de sécurité du navigateur de Google ):
Les contrôles pour les cibles XMLHttpRequest ne prennent pas en compte document.domain ...
Autres conseils
Cela dépendra à 100% du navigateur. Certains pourraient baser la limite de 2 connexions sur le nom de domaine, d'autres sur l'adresse IP.
D'autres vous laisseront faire autant que vous voudrez.
Aucun navigateur base sa limite de connexion sur l'adresse IP. Tous les navigateurs basent la limite sur le nom de domaine complet spécifié.
Donc, oui, il serait tout à fait bien d’avoir un alias DNS sur votre serveur, bien que la réponse précédente soit correcte, XHR exigera que vous utilisiez le nom de domaine de la page pour XHR et que vous utilisiez cet alias pour télécharger le contenu statique. (images, etc.) dans la page.
Incidemment, les navigateurs modernes élèvent généralement la limite de connexion à 6 ou 8 connexions par hôte.