302 redirigir y el cuerpo en la página (se te redirige a ...)

2

Tengo una página que toma la URL en la consulta y la cadena y lo. Luego, se le redirige utilizando 302 a otra página, y la respuesta de la página contiene código HTML y el encabezado de redirección. Así:

<html><body>
You are being <a href="The link where will redirect">redirected</a>. 
</body></html>

Mis preguntas:

  1. ¿Por qué hay un código HTML, si los navegadores lo redirigen automáticamente?

  2. Si inyecto código en href, ¿se puede ejecutar un código JavaScript antes de que ocurra la redirección o no?

pregunta Ahmed Magdy 29.08.2015 - 14:18
fuente

1 respuesta

2
  

1- por qué hay un código html si el navegador lo redirige automáticamente

Es tradicional desde los tiempos en que 302 era nuevo y no todos los clientes entendían lo que significaba. No es realmente necesario hoy y inútilmente desperdicia ancho de banda.

  

2- si se inyecta el código en href, ¿se puede ejecutar un código javascript antes de que se produzca la redirección? o no?

Si tiene una respuesta 302 adecuada, es decir, un encabezado de ubicación está presente, el cuerpo se ignorará y no se ejecutará nada.

Si no hay un encabezado de Ubicación (lo que sería una respuesta no válida), depende del navegador y del contexto: si la URL con el código 302 incorrecto se incluyó con la etiqueta img o se vinculó con HTML, a menudo se procesará, incluida la ejecución de Javascript dentro del HTML. En otros casos, como las descargas (el enlace no conduce a HTML) o el contexto del script, en su lugar, se producirá un error.

Hay servidores de seguridad que se pueden omitir de esta manera porque no esperan que el navegador ejecute el cuerpo de 302 respuestas y, por lo tanto, omita la inspección incluso si no hay un encabezado de ubicación en la respuesta que indique el objetivo de la redirección.

    
respondido por el Steffen Ullrich 29.08.2015 - 14:38
fuente

Lea otras preguntas en las etiquetas