IE8 perde i cookie quando apre una nuova finestra dopo un reindirizzamento
-
05-07-2019 - |
Domanda
Sto usando Internet Explorer 8 beta 2.
-
Il client esegue POST su http: // alpha / foo
-
Il server risponde con il reindirizzamento a http: // beta / bar
-
Il client esegue GET su http: // beta / bar
-
Il server risponde con il reindirizzamento a http: // beta / baz e imposta i cookie
-
Il client esegue GET su http: // beta / baz compresi i cookie
-
Il server fornisce la risposta
-
L'utente seleziona " Apri in una nuova finestra " su un collegamento nella pagina
-
Il client esegue GET su http: // beta / link , senza cookie!
Se nel passaggio 7 l'utente fa semplicemente clic sul collegamento, il cookie viene passato correttamente. Se non c'è reindirizzamento, il cookie viene passato correttamente anche se l'utente seleziona " Apri in una nuova finestra " ;.
Esiste un modo per convincere IE8 a passare il cookie nel passaggio 8?
(Modifica: credo che questo sia un bug in IE8 beta 2, quindi ho lo ha sollevato sul newsgroup IE beta .
Soluzione
Credo che IE8 usi un processo separato per ogni finestra. Se si utilizzano i cookie di sessione, il nuovo processo inizierà con una nuova sessione e pertanto non sarà in grado di inviare i cookie di sessione ricevuti dall'altro processo. Puoi provare a utilizzare i cookie persistenti e vedere cosa succede?
Da http: // www. microsoft.com/windows/internet-explorer/beta/readiness/developers-existing.aspx#lcie
Internet Explorer a coppie libere (LCIE) è uno sforzo architettonico per migliorare il browser separandolo componenti e allentandoli interdipendenza: in particolare, lo è un tentativo di isolare Internet Explorer frame e le sue schede in processi separati. In Internet Explorer 8, questo isolamento porterà sul miglioramento delle prestazioni e scalabilità, oltre che più potente metodi per recuperare da problemi come errore del disco o del sistema.