Questa limitazione non è causata da misure di sicurezza, ma semplicemente da misure economiche.
Questo comportamento osservato può essere effettivamente trovato in molte applicazioni Web interne aziendali e lo troverete collegato molto a Java J2EE Web Application Server (IBM WebSphere Application Server è il più diffuso).
Pur facendo affidamento su un client leggero (un browser Web di uso generale), tali applicazioni sono spesso (scarsamente) progettate nello stesso modo di quelle che utilizzano un client pesante (software eseguito da un file eseguibile installato sulla macchina).
I siti web sono generalmente progettati tenendo presente un modello di richiesta-risposta. Il progettista decide quali richieste sono consentite all'utente e quale dovrebbe essere l'elaborazione e la risposta del server appropriato. Ciò ti consente di aprire comodamente tutte le schede che desideri ogni volta che il browser invia una richiesta al server.
Ma le applicazioni web come quella che stai affrontando sono progettate pensando a un modello di transizione statale.
Con un software client pesante, sei vincolato a un flusso di lavoro molto preciso: quando fai clic su un elemento ti verranno proposte alcune opzioni e sarai costretto a sceglierne una o fare clic su Annulla se è disponibile, potresti non essere in grado di aprire direttamente alcune finestre senza passare prima da altre finestre o menu, alcune opzioni potrebbero non essere sempre accessibili o abilitate a seconda dell'azione in corso, ecc.
In qualsiasi momento sei in uno stato definito e, in base all'azione con i controlli dell'applicazione, passerai dallo stato corrente a un altro e così via. Ogni possibile transizione di stato è ben definita dal progettista dell'applicazione.
Tale applicazione web prende questo modello di sviluppo inizialmente progettato per applicazioni client pesanti e lo applica alle applicazioni web. Ovviamente questo non si adatta bene poiché, aprendo diverse schede, si confonde l'applicazione che non è in grado di determinare quale sia il tuo stato attuale: stai consultando il saldo del tuo conto o immettendo un nuovo bonifico? Entrambi non sono accettabili, puoi essere solo in uno stato alla volta! E non menziono nemmeno le funzionalità specifiche del browser come il pulsante Indietro o il bookmarking di una pagina specifica che spesso non sono supportate da tali applicazioni web.
Questa non è una scelta di sicurezza, ma economica dato che rende la programmazione delle applicazioni più facile, più rapida e quindi più economica.