Esta limitación no es causada por medidas de seguridad, sino simplemente por medidas económicas.
Este comportamiento que observa se puede encontrar en muchas aplicaciones web corporativas internas, y lo encontrará mucho vinculado al servidor de aplicaciones web J2EE de Java (IBM WebSphere Application Server es el más extendido).
Aunque se basan en un cliente ligero (un navegador web de uso general), estas aplicaciones a menudo están (mal) diseñadas de la misma manera que las que usan un cliente pesado (software que se ejecuta desde un archivo ejecutable instalado en su máquina).
Los sitios web generalmente se diseñan con un modelo de solicitud - respuesta en mente. El diseñador decide qué solicitudes se permiten al usuario y cuál debe ser el procesamiento y la respuesta adecuados del servidor. Esto le permite abrir tantas pestañas como desee, ya que cada vez que su navegador simplemente envía una solicitud al servidor.
Pero las aplicaciones web como la que está enfrentando están diseñadas con un modelo de transición de estado en mente.
Con un software de cliente pesado, está limitado a un flujo de trabajo muy preciso: cuando hace clic en un elemento, se le propondrán algunas opciones y se verá obligado a elegir uno de ellos o haga clic en Cancelar si está disponible, es posible que no pueda abrir directamente alguna ventana sin pasar primero por otras ventanas o menús, es posible que algunas opciones no estén siempre accesibles o habilitadas, dependiendo de su acción en curso, etc.
En cualquier momento se encuentra en un estado definido, y dependiendo de su acción con los controles de la aplicación, cambiará de su estado actual a otro, y así sucesivamente. Cada posible transición de estado está bien definida por el diseñador de la aplicación.
Dicha aplicación web simplemente toma este modelo de desarrollo inicialmente diseñado para aplicaciones de cliente pesado y lo aplica a las aplicaciones web. Obviamente, esto no se adapta bien ya que, al abrir varias pestañas, confunde la aplicación que no puede determinar cuál es su estado actual: ¿está consultando el saldo de su cuenta o ingresando una nueva transferencia bancaria? Ambos no son aceptables, ¡solo puedes estar en un estado en ese momento! Y ni siquiera menciono las características específicas del navegador, como el botón de retroceso o el marcado de una página específica que a menudo no son compatibles con dichas aplicaciones web.
Esta no es una opción de seguridad, solo es económica, ya que hace que la programación de aplicaciones sea más fácil, más rápida y, por lo tanto, más barata.