sto caricamento di una pagina HTML con alcuni javascript dal sito A.HTTP 302 Redirect a una richiesta CORS è sceso dai browser
Javascript invia una richiesta GET HTTP al sito B. A questo punto:
- browser invia richiesta relativa alle opzioni del sito B
- sito B risponde alla richiesta OPTIONS
- browser invia quindi ori ginal HTTP GET richiesta al sito B
- sito B risponde con HTTP 302 con la posizione impostata al sito C.
A questo punto Browser arresta l'elaborazione della richiesta. Mi aspettavo che inviasse la richiesta HTTP OPTIONS al sito C proprio come ha fatto quando ha inviato la richiesta al sito B. Ma non è così. Ho osservato lo stesso comportamento su Firefox e Chrome.
Mi piacerebbe capire perché i browser si comportano in questo modo. Capisco che ci dovrebbero essere alcuni controlli o reindirizzamenti max per evitare loop ma non limitato 2 richieste di reindirizzamento.
Anche perché le informazioni dell'intestazione NON sono inviate al codice Javascript in modo che l'applicazione possa fare qualcosa al riguardo. Viene semplicemente rilasciato dal browser anche se ti prende in giro mostrando la risposta HTTP 302 dal sito C con l'URL della posizione nella console del browser.
XMLHttpRequest non può caricare https://siteB/ ... La richiesta è stata reindirizzata a 'https://siteC/ ..', che non è consentita per le richieste di origine incrociata che richiedono il preflight.
Qualsiasi intuizione del design è apprezzata sinceramente.
saluti
ho lo stesso problema, descritto qui: http://stackoverflow.com/questions/41856827/nginx-load-balancer-error-when-302-is-used?noredirect=1#comment70912734_41856827 puoi aiutarmi ? – pier92