HTTP |
---|
Métodos de solicitud |
Campos de encabezado |
Códigos de estado de respuesta |
Métodos de control de acceso de seguridad |
Vulnerabilidades de seguridad |
El código de estado de respuesta HTTP 302 Found es una forma común de realizar una redirección de URL . La especificación HTTP/1.0 ( RFC 1945) definió inicialmente este código y le dio la frase descriptiva "Moved Temporarily" en lugar de "Found".
Una respuesta HTTP con este código de estado proporcionará además una URL en el campo de encabezado Ubicación . Se trata de una invitación al agente de usuario (por ejemplo, un navegador web) para que realice una segunda solicitud, idéntica en todo lo demás, a la nueva URL especificada en el campo Ubicación. El resultado final es una redirección a la nueva URL.
Muchos navegadores web implementaron este código de una manera que violaba este estándar, cambiando el tipo de solicitud de la nueva solicitud a GET , independientemente del tipo empleado en la solicitud original (por ejemplo, POST ). [1] Por esta razón, HTTP/1.1 ( RFC 2616) agregó los nuevos códigos de estado 303 y 307 para desambiguar entre los dos comportamientos, con 303 exigiendo el cambio de tipo de solicitud a GET, y 307 preservando el tipo de solicitud como se envió originalmente. A pesar de la mayor claridad proporcionada por esta desambiguación, el código 302 todavía se emplea en los marcos web para preservar la compatibilidad con los navegadores que no implementan la especificación HTTP/1.1. [2]
Como consecuencia, RFC 7231 (la actualización de RFC 2616) cambia la definición para permitir que los agentes de usuario reescriban POST en GET. [3]
Solicitud del cliente:
GET /index.html HTTP / 1.1 Host : www.ejemplo.com
Respuesta del servidor:
HTTP / 1.1 302 Encontrado Ubicación : http://www.iana.org/domains/example/