1- why there are html code if the browser will redirect it automatically
È tradizionale dai tempi in cui 302 era nuovo e non tutti i clienti capivano cosa significasse. Oggi non è veramente necessario e spreca inutilmente larghezza di banda.
2- if inject code in href, a javascript code can this executed before the redirection happened ? or not ?
Se hai una risposta 302 corretta, cioè un'intestazione Location è presente, il corpo verrà ignorato e non verrà eseguito nulla.
Se non è presente un'intestazione Location (che sarebbe una risposta non valida) dipende dal browser e dal contesto: se l'URL con il 302 cattivo è stato incluso con il tag img o è stato collegato HTML, verrà spesso visualizzato includendo l'esecuzione di Javascript nell'HTML. In altri casi, come i download (link che non portano a HTML) o il contesto di script, si tradurrà in un errore.
Ci sono firewall che possono essere bypassati in questo modo perché non si aspettano che il browser esegua il corpo di 302 risposte e quindi salti l'ispezione anche se nessuna intestazione di posizione nella risposta indica il target del reindirizzamento.