¿Cómo funciona HTTP 302? Me gustaría saber las partes internas¿Cómo funciona HTTP 302?
Respuesta
¿Quieres decir cómo lo manejan los navegadores? El servidor envía un código 302
junto con un encabezado Location
, y el navegador solicita el nuevo URI especificado por el encabezado Location
en su lugar.
A diferencia 301 (Moved Permanently)
, el navegador sigue usando el URI original al realizar solicitudes, en caso de que el código 302
desaparece
Los detalles internos de qué? 302 es un código de retorno que el servidor le da al cliente, lo que hace el cliente depende de ello. Los RFC brindan orientación sobre lo que debe hacer el cliente , pero en el mundo real 301, 302, 303 y 307 son manejados de la misma manera por los principales navegadores.
He visto que IE8 e IE9 se comportan de manera diferente cuando el encabezado de la ubicación no especifica un URI absoluto ... tenga cuidado con el usuario – felickz
El servidor devuelve una respuesta HTTP con el código 302
, que indica una redirección temporal, e incluye un encabezado Location:
que indica el nuevo URI, p.
HTTP/1.1 302 Found
Location: http://some-other-url
Y potencialmente otros encabezados a discreción del servidor.
El navegador normalmente toma esto como una directiva para hacer automáticamente una nueva solicitud por separado para el otro URI especificado por el encabezado de ubicación. El cliente (navegador) no está forzado para hacer esto (podría, en teoría, simplemente mostrar un mensaje al usuario, o hacer lo que quiera), pero así es como se comportan los clientes HTTP.
Tenga en cuenta que dado que el 302 es una redirección temporal, un cliente de buen comportamiento seguirá utilizando la antigua dirección URL en el futuro, en lugar de ir directamente a la nueva (301 es una redirección permanente).
Sugerencia: lea esta respuesta para una comprensión más profunda. – erbdex
Desde: http://www.ietf.org/rfc/rfc2616.txt y http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
10.3.3 302 Encontrado
El recurso solicitado reside temporalmente bajo una diferente URI. Dado que la redirección podría modificarse ocasionalmente, el cliente DEBERÍA continuar utilizando el URI de solicitud para futuras solicitudes. Esta respuesta solo se puede almacenar en caché si está indicada por un campo Cache-Control o Expires header .
El URI temporal DEBERÍA estar dado por el campo Ubicación en la respuesta . A menos que el método de solicitud fuera HEAD, la entidad de la respuesta DEBERÍA contener una breve nota de hipertexto con un hipervínculo al el nuevo URI (s).
Si el código de estado 302 se recibe en respuesta a una solicitud de otro de GET o HEAD, el agente de usuario no debe redirigir automáticamente la solicitud a menos que pueda ser confirmada por el usuario, ya que esto podría cambiar las condiciones en las que la solicitud fue emitida.
Note: RFC 1945 and RFC 2068 specify that the client is not allowed
to change the method on the redirected request. However, most
existing user agent implementations treat 302 as if it were a 303
response, performing a GET on the Location field-value regardless
of the original request method. The status codes 303 and 307 have
been added for servers that wish to make unambiguously clear which
kind of reaction is expected of the client.
Sólo un Addon- importante, es para el cliente de parada para golpear misma dirección URL del servidor con la misma petición consecutiva/frecuencia.
- 1. Http Redirect 302
- 2. HTTP Error 302 usando uploadify
- 3. Redirección HTTP: 301 (permanente) vs. 302 (temporal)
- 4. audio HTML5 con una redirección HTTP 302 en Chrome
- 5. HTTP 302 Redirigir: ¿se necesita un cuerpo de mensaje?
- 6. Apache: proxy inverso y mensaje de estado de HTTP 302
- 7. ¿Cómo funciona la descarga HTTP?
- 8. ¿Es posible establecer algunos encabezados http mientras http-redirect (302 o 307)?
- 9. 302 Infinite Loop
- 10. Httpclient 4, error 302. ¿Cómo redirigir?
- 11. cómo python http solicitud y respuesta funciona
- 12. 301/302 Redirigir no funciona en Android (funciona de manera diferente en versiones diferentes)
- 13. 302 encontrado respuesta
- 14. ¿Qué es cURL 302 encontrado?
- 15. Encabezado mal formado del script. Bad header = HTTP/1.1 302 Found
- 16. ASP.NET Página de error personalizado para 404 devuelve 302 para estado http
- 17. 301 o 302 redirección con PHP
- 18. Obteniendo la ubicación de un WebClient en un HTTP 302 Redirect?
- 19. HTTP: la solicitud POST recibe un 302, ¿debería la solicitud de redireccionamiento ser un GET?
- 20. Android WebView 302 Redirect - Honeycomb
- 21. ¿Cómo funciona la autenticación http: // usuario: [email protected]?
- 22. Http and file uploading - ¿Cómo funciona realmente (bajo el capó)
- 23. http: // localhost/no funciona con EasyPHP
- 24. tratando de atrapar estado 302 Ext JS
- 25. ¿Podemos hacer 302 redirigir con javascript?
- 26. HttpWebRequest devuelve 404s para 302 solo en Internet Explorer
- 27. ¿Cómo puedo hacer que System.Net.Http.HttpClient no siga 302 redirecciones?
- 28. ¿Cómo verifico si hay una respuesta 302? WebRequest
- 29. Wordpress admin-ajax resultados en el error 302 redirigir
- 30. PEP 302 Ejemplo: Nuevos ganchos de importación
Tenga en cuenta que hasta hace un par de años, los navegadores no almacenaban en la memoria caché 301. Ahora, Chrome lo hace y creo que Firefox sí. IE9 lo hará. – josh3736
así que si no es un navegador que realiza la solicitud (y es una aplicación), entonces http no se redirigirá automáticamente a https. Tendrá que cambiar manualmente su cadena de solicitud a https. – ozzy432836
Estoy confundido. ¿Quiere decir que HTTP 301 instruirá a los navegadores a almacenar el objetivo de redireccionamiento en su historial y eliminar la URL anterior? Porque parece que estás diciendo lo contrario. – Pieter