usa tipos son sirve que navegadores navegador internet funcion como html http web-applications persistent-connection web-performance

html - tipos - ¿Máximas conexiones http paralelas en un navegador?



navegadores que son (12)

Estoy creando algunas conexiones suspendidas a un servidor HTTP (cometa, ajax inverso, etc.). Funciona bien, pero veo que el navegador solo permite dos conexiones suspendidas a un dominio dado simultáneamente. Entonces, si un usuario está viendo mi sitio web en la Tab1 de su navegador, y luego intenta cargarlo en la Tab2, ha agotado las dos conexiones permitidas a mi sitio.

Creo que puedo hacer algo de dominio de comodín, donde mi servidor http resuelve cualquier dirección a mi sitio como:

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

asi que:

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

todos siguen apuntando a ( www.example.com/webapp ) pero el navegador los considera dominios diferentes, así que no me encuentro con el límite de 2 conexiones. ¿Es esto cierto?

Incluso si eso es cierto, ¿hay algún límite en el número de conexiones activas por navegador, en todos los dominios? Digamos que uso el esquema anterior. ¿Firefox, por ejemplo, solo permite 24 conexiones paralelas en un momento dado? Algo como:

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!

Acabo de elegir 24 conexiones / Firefox como ejemplo.



  1. Sí, el dominio comodín funcionará para usted.
  2. No es consciente de ningún límite en las conexiones. Límites si alguno será específico del navegador.

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

El primer valor es ConnectionsPerHostname y el segundo valor es MaxConnections .

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

Nota: ConnectionsPerHostname es el número máximo de solicitudes http simultáneas que los navegadores realizarán en el mismo dominio. Para aumentar el número de conexiones simultáneas, se pueden alojar recursos (por ejemplo, imágenes) en diferentes dominios. Sin embargo, no puede exceder MaxConnections , el número máximo de conexiones que un navegador abrirá en total, en todos los dominios.


Firefox almacena ese número en esta configuración (lo encuentra en about:config ): network.http.max-connections-per-server

Para las conexiones máximas, Firefox almacena eso en esta configuración: network.http.max-connections


Haciendo pruebas en una página vi este comportamiento:

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

Edición: Parece que Firefox 4 debería poder hacer 15 conexiones, pero ese no es el comportamiento que observé.


Las 2 solicitudes simultáneas son una parte intencional del diseño de muchos navegadores. Existe una norma por ahí que los "buenos clientes http" se adhieren a propósito. Echa un vistazo a este RFC para ver por qué.


Mi entendimiento es que el límite de conexión no es variable en el lado del cliente. El límite de conexión se debe cambiar en el servidor para que tenga algún efecto. De forma predeterminada, muchos servidores solo permitirán 2 conexiones por cliente único.

El cliente no es el navegador, es la máquina cliente que emite las solicitudes TCP / IP.

Para ver el efecto muy claramente, use algo como JMeter para disparar un montón de llamadas de servicio web a su servidor host: aceptará las dos primeras y no aceptará otra hasta que se complete una de las dos. Lo sorprendente de esto es que para una tienda de SOA, esto es fundamental, pero casi nadie está realmente consciente de ello.


Mirando about:config en Firefox 33 en GNU / Linux (Ubuntu), y buscando connections encontré:

network.http.max-connections: 256

Es probable que responda a la parte si hay algún límite en el número de conexiones activas por navegador, en todos los dominios

network.http.max-persistent-connections-per-proxy: 32

network.http.max-persistent-connections-per-server: 6

salté dos propiedades ...

network.websocket.max-connections: 200

(interesante, parece que no están limitados por servidor pero tienen un valor predeterminado más bajo que las conexiones http globales)


Número máximo de conexiones persistentes simultáneas predeterminadas por servidor / 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

El límite es por servidor / proxy, por lo que su esquema de comodines funcionará.

FYI: esto está específicamente relacionado con HTTP 1.1; otros protocolos tienen preocupaciones y limitaciones separadas (es decir, SPDY, TLS, HTTP 2).


No hay una respuesta definitiva a esto, ya que cada navegador tiene su propia configuración para esto, y esta configuración puede ser cambiada. Si busca en Internet, puede encontrar formas de cambiar este límite (por lo general, se les denomina "métodos de mejora del rendimiento"). Podría valer la pena avisar a sus usuarios si lo requiere su sitio web.


Tenga en cuenta que aumentar las conexiones máximas de un navegador por servidor a un número excesivo (como lo sugieren algunos sitios) puede bloquear a otros usuarios de sitios pequeños con planes de alojamiento que limitan el total de conexiones simultáneas en el servidor.