¿Cuál es la diferencia entre 301 y 302 en HTTP?

9

Veo que todos los sitios similares a tinyurl usan 302

Pero, ¿cuál es la diferencia? Parece que ambos están funcionando para mí

vps
fuente

Respuestas:

12

Un estado 301 (movido permanentemente) significa que el recurso se ha movido permanentemente a una nueva ubicación. El cliente (navegador) debe usar la nueva ubicación en lugar de la anterior en el futuro.

Un estado 302 (encontrado) significa que el recurso se encuentra temporalmente en otro lugar. El cliente debe usar la ubicación dada para la solicitud actual, pero en el futuro debe continuar usando la ubicación anterior.

Ambos códigos de estado tendrán el efecto de hacer que el navegador siga una redirección. Debe elegir usar un estado 301 o 302 dependiendo de si la redirección es permanente o temporal.

Puede encontrar más información sobre estos códigos de respuesta HTTP en RFC 2616 .

Phil Ross
fuente
¿Qué sucede si quiero cancelar 301? ¿Está fuera de control ya que no se vuelve a usar?
vps
@vps Puede cancelar la redirección 301, pero no hay garantía de que el cliente vuelva a solicitar la URL original. Si desea poder cancelar la redirección en el futuro, entonces puede ser mejor que use un 302.
Phil Ross
3

Cuando una araña del motor de búsqueda encuentra el código de estado 301 en el encabezado de respuesta de una página web, entiende que esta página web ya no existe, busca el encabezado de ubicación en respuesta, elige la nueva URL y reemplaza la URL indexada por la nueva y también transfiere el pagerank .

Entonces, el motor de búsqueda actualiza todas las URL indexadas que ya no existen (301 encontradas) con la nueva URL, esto retendrá el tráfico de su página web anterior, el pagerank y lo desviará a la nueva (no perderá el tráfico de la página web anterior).

Navegador: si un navegador encuentra el código de estado 301, luego almacena en caché la asignación de la URL anterior con la nueva URL, el cliente / navegador no intentará solicitar la ubicación original sino que usará la nueva ubicación de ahora en adelante hasta que se elimine la memoria caché.

Cuando la araña del motor de búsqueda encuentra el estado 302 de una página web, solo se redirigirá temporalmente a la nueva ubicación y rastreará ambas páginas, la URL de la página web anterior todavía existe en la base de datos del motor de búsqueda y siempre intentará solicitar la ubicación anterior y rastrearla. el cliente / navegador seguirá intentando solicitar la ubicación original.

Lea más sobre cómo implementarlo en asp.net c # y cómo es el impacto en el motor de búsqueda: http://www.dotnetbull.com/2013/08/301-permanent-vs-302-temporary-status-code- aspnet-csharp-Implementation.html

Rohit
fuente