Connexions http parallèles Max dans un navigateur?

je crée des connexions suspendues à un serveur HTTP (comète, ajax inversé, etc.). Cela fonctionne bien, mais je vois que le navigateur ne permet que deux connexions suspendues à un domaine donné simultanément. Donc, si un utilisateur regarde mon site Web dans L'onglet 1 de leur navigateur, puis essaie également de le charger dans L'onglet 2, ils ont utilisé les deux connexions autorisées à mon site.

je pense que je peux faire quelque chose de wildcard domaine chose, où j'ai mon serveur http résoudre n'importe quelle adresse de mon site comme:

*.example.com/webapp  -> 192.0.2.1 (the actual ip of my server)

:

a.example.com/webapp
b.example.com/webapp
c.example.com/webapp

pointent toujours vers ( www.example.com/webapp ) mais le navigateur les considère comme des domaines différents, donc je ne Cours pas dans la limite de 2 connexions. Est-ce vrai?

même si est vrai - y a-t-il une limite au nombre de connexions actives par navigateur, dans tous les domaines? Disons que J'utilise le schéma ci - dessus-Est-ce que Firefox, par exemple, n'autorise que 24 connexions parallèles à tout moment donné? Quelque chose comme:

1) a.example.com/webapp
2) www.download.example/hugefile.zip
3) b.example.com/webapp
4) c.example.com/webapp
...
24) x.example.com/webapp
25) // Error - all 24 possible connections currently in use!

je viens de choisir 24 connexions/Firefox comme exemple.

383
demandé sur Patrick Mevzek 2009-06-12 11:23:53

12 réponses

Nombre maximum de défaillance simultanée de connexions persistantes par serveur/proxy:

Firefox 2:  2
Firefox 3+: 6
Opera 9.26: 4
Opera 12:   6
Safari 3:   4
Safari 5:   6
IE 7:       2
IE 8:       6
IE 10:      8
Chrome:     6

la limite est per-server/proxy, donc votre schéma de Joker fonctionnera.

FYI: ceci est spécifiquement lié à HTTP 1.1; d'autres protocoles ont des préoccupations et des limites distinctes (i.e., SPDY, TLS, HTTP 2).

356
répondu Alsciende 2015-02-05 17:30:04

HTTP / 1.1

IE 6 and 7:      2
IE 8:            6
IE 9:            6
IE 10:           8
IE 11:           8
Firefox 2:       2
Firefox 3:       6
Firefox 4 to 46: 6
Opera 9.63:      4
Opera 10:        8
Opera 11 and 12: 6
Chrome 1 and 2:  6
Chrome 3:        4
Chrome 4 to 23:  6
Safari 3 and 4:  4

source: http://p2p.wrox.com/book-professional-website-performance-optimizing-front-end-back-end-705 /

HTTP / 2 (SPDY)

Multiplexed support(one single TCP connection for all requests)
169
répondu Fatih Hayrioğlu 2017-03-09 10:56:13

BrowserVersion | ConnectionsPerHostname / MaxConnections

  1. Chrome34/32 6 10
  2. IE9 6 35
  3. IE10 8 17
  4. IE11 13 17
  5. Firefox27/26 6 17
  6. Safari7.0.1 6 17
  7. Android4 6 17
  8. ChromeMobile18 6 16
  9. IE Mobile9 6 60

la première valeur est ConnectionsPerHostname et la seconde valeur est MaxConnections "1519470920 .

Source: http://www.browserscope.org/?category=network&v=top

Note: ConnectionsPerHostname est le nombre maximum de requêtes http simultanées que les navigateurs feront dans le même domaine. Pour augmenter le nombre de connexions simultanées, on peut héberger des ressources (par exemple des images) dans différents domaines. Cependant, vous ne pouvez pas dépasser MaxConnections , le nombre maximum de connexions qu'un navigateur ouvrira au total - dans tous les domaines.

78
répondu Razan Paul 2018-04-01 09:10:38

différents navigateurs ont différentes limites pour les connexions maximales par nom d'hôte; vous pouvez trouver les nombres exacts à http://www.browserscope.org/?category=network et voici un article intéressant sur les limites de connexion de L'expert en performances Web Steve Souders http://www.stevesouders.com/blog/2008/03/20/roundup-on-parallel-connections /

44
répondu Soroush 2011-06-27 22:13:21

Firefox stocke ce nombre dans ce cadre (vous le trouvez dans about:config ): network.http.max-connections-per-server

pour les connexions max, Firefox stocke que dans ce cadre: network.http.max-connections

13
répondu palswim 2010-08-27 16:34:38

faire des tests sur une page j'ai vu ce comportement:

Safari 4: 6  
Chrome 6: 7  
FF 4: 6

Edit: il semble que firefox 4 devrait être capable de faire 15 connexions mais ce n'est pas le comportement que j'ai observé.

8
répondu Jethro Larson 2010-09-29 18:53:51

les 2 requêtes concurrentes sont une partie intentionnelle de la conception de nombreux navigateurs. Il existe une norme à laquelle les" bons clients http " adhèrent volontairement. Regardez ce RFC pour voir pourquoi.

5
répondu Josh 2009-06-12 13:06:31

en regardant about:config sur Firefox 33 sur GNU / Linux (Ubuntu), et en cherchant connections j'ai trouvé:

du réseau.http.connexions max: 256

qui est susceptible de répondre à la partie y a-t-il une limite au nombre de connexions actives par navigateur, à travers tous les domaines

du réseau.http.max-persistent-connections-par-proxy: 32

du réseau.http.max-persistent-connections-par-serveur: 6

a sauté deux propriétés...

du réseau.websocket.connexions max: 200

(intéressant, il semble qu'ils ne sont pas limités par serveur mais ont une valeur par défaut inférieure aux connexions http globales)

3
répondu orique 2014-11-12 09:17:46
  1. Oui, domaine générique va travailler pour vous.
  2. ne connaît aucune limite sur les connexions. Limites si tout sera spécifiques au navigateur.
1
répondu Ryan Oberoi 2009-06-12 07:27:24

noter que l'augmentation des connexions max d'un navigateur par serveur à un nombre excessif (comme certains sites le suggèrent) peut et ne bloque d'autres utilisateurs de petits sites avec des plans d'hébergement qui limitent le nombre total de connexions simultanées sur le serveur.

1
répondu John A. 2010-11-08 18:41:13

ma compréhension est que la limite de connexion n'est pas modifiable du côté du client. La limite de connexion doit être changé sur le serveur pour avoir un effet. Par défaut, de nombreux serveurs n'autorisent que 2 connexions par client unique.

le client n'est pas le navigateur, c'est la machine client émettant les requêtes TCP/IP.

Pour voir l'effet très clairement, utilisez quelque chose comme JMeter pour déclencher un tas d'appels de service web à votre serveur l'hôte d'accepter les deux premiers et n'acceptera pas un autre jusqu'à ce que l'un des deux est terminé. La chose étonnante à ce sujet est que pour un magasin SOA, c'est critique, mais presque personne n'est vraiment au courant.

1
répondu Rodney P. Barbati 2015-09-30 20:51:44

Il n'y a pas de réponse définitive à cette, que chaque navigateur a sa propre configuration pour cela, et cette configuration peut être modifiée. Si vous cherchez sur internet, vous pouvez trouver des moyens de changer cette limite (généralement ils sont marqués comme "performance enhancement methods.") Il pourrait être utile de conseiller à vos utilisateurs de le faire si cela est requis par votre site web.

0
répondu Blixt 2009-06-12 07:26:08