Questa limitazione non è causata da misure di sicurezza, ma semplicemente da misure economiche.
Questo comportamento che osservi può effettivamente essere trovato in molte applicazioni web aziendali interne e lo troverai molto collegato a Java J2EE Web Application Server (IBM WebSphere Application Server è il più diffuso).
Pur facendo affidamento su un client leggero (un browser web generico), tali applicazioni sono spesso (scarsamente) progettate allo stesso modo a quelli che utilizzano un client pesante (software eseguito da un file eseguibile installato sulla macchina).
I siti web sono solitamente progettati con un modello di richiesta - risposta in mente. Il progettista decide quali richieste sono consentite all'utente e quale deve essere l'elaborazione e la risposta del server appropriato. Ciò ti consente di aprire comodamente tutte le schede che desideri poiché ogni volta che il browser invia una richiesta al server.
Ma le applicazioni web come quella che stai affrontando sono progettate con un modello di transizione di stato in mente.
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 fai clic sul pulsante 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 delle tue attuali azione, ecc.
In qualsiasi momento ti trovi in uno stato definito e, a seconda della tua azione con i controlli dell'applicazione, passerai dal tuo stato attuale a un altro, e così via. Ogni possibile transizione di stato è ben definita dal progettista dell'applicazione.
Tale applicazione web prende semplicemente questo modello di sviluppo inizialmente progettato per applicazioni client pesanti e lo applica alle applicazioni web. Ovviamente questo non scala bene poiché, aprendo più tab, stai confondendo l'applicazione che non è in grado di determinare qual è il tuo stato attuale: stai consultando il saldo del tuo conto o stai inserendo un nuovo bonifico? Entrambi non sono accettabili, puoi essere solo in uno stato alla volta! E non menziono nemmeno le caratteristiche specifiche del browser come il pulsante Indietro o il bookmark di una pagina specifica che spesso non sono supportate da tali applicazioni web.
Questa non è una scelta di sicurezza, solo economica poiché rende l'applicazione programmazione più semplice, veloce e quindi più economica.