301

Moved Permanently

Oficial
la URL ha cambiado, para futuras solicitudes se utilizará esta dirección

Explicación general del código de estado 301

El código de estado HTTP 301 Moved Permanently indica que el recurso solicitado está disponible de forma permanente en una nueva URL. Cuando un cliente, como un navegador o un motor de búsqueda, recibe esta respuesta, es redirigido automáticamente a la nueva dirección. Al mismo tiempo, el cliente recuerda la nueva URL para poder enviar allí directamente futuras peticiones. Este código de estado suele utilizarse cuando se reestructuran sitios web o se trasladan contenidos para garantizar que los usuarios y los motores de búsqueda utilicen las rutas actualizadas. Para el usuario final, esto suele pasar desapercibido en segundo plano, ya que la redirección se produce automáticamente. Desde un punto de vista técnico, la redirección 301 Moved Permanently es importante para transferir las posiciones en los motores de búsqueda y el tráfico a las nuevas URL sin perder los enlaces existentes. Si se utiliza correctamente, es una herramienta útil para mantener y optimizar los sitios web.

Especificación del código de estado HTTP 301

El código de estado 301 Moved Permanently indica que al recurso de destino se le ha asignado un nuevo URI permanente y cualquier referencia futura a este recurso debería utilizar uno de los URIs adjuntos. Los clientes con capacidades de edición de enlaces deberían revincular automáticamente las referencias al URI de la solicitud efectiva a una o más de las nuevas referencias enviadas por el servidor, siempre que sea posible.

El servidor DEBERÍA generar un campo de cabecera Location en la respuesta que contenga una referencia URI preferida para el nuevo URI permanente. El agente de usuario PUEDE utilizar el valor del campo Location para la redirección automática. La carga útil de la respuesta del servidor normalmente contiene una breve nota de hipertexto con un hipervínculo al nuevo URI(s).

Nota: Por razones históricas, un agente de usuario PUEDE cambiar el método de petición de POST a GET para la petición subsiguiente. Si este comportamiento no es deseado, se puede utilizar en su lugar el código de estado 307 (Redirección temporal).

Una respuesta 301 Moved Permanently es almacenable en caché por defecto; es decir, a menos que se indique lo contrario en la definición del método o en los controles explícitos de caché (véase la Sección 4.2.2 de [RFC7234]).

Por defecto, una respuesta 301 Moved Permanently es almacenable en caché.

Fuente / Cita de: El código de estado HTTP 301 Moved Permanently se especifica en la sección 6.4.2 de RFC7231.

¿Cómo lanzar un código de estado 301 con PHP?

Para lanzar el código de estado HTTP 301 en una página web, se puede utilizar la función PHP http_response_code. La sintaxis es la siguiente: http_response_code(301) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Probar el código de estado HTTP 301

Para poder mostrar el código de estado HTTP (en este caso 301 Moved Permanently) y otra información en el lado del cliente, debe abrirse la consola de desarrollo con F12. A continuación, vaya a la pestaña "Red". Ahora se puede abrir la página, el sitio web (ejemplo index.php) debe ser visible en la pestaña de red. Esta debe ser seleccionada y luego la sección Herder debe ser seleccionada. El usuario verá entonces el siguiente resultado:

Código de estado 301 Moved Permanently
Visión general
URL: https://http-statuscode.com/errorCodeExample.php?code=301
Estado: 301 Moved Permanently
Esos: Network
Dirección IP: XX.XX.XX.XX
Código de estado 301 Moved Permanently

Compatibilidad del código de estado 301 con los navegadores

Chrome Yes
Edge Yes
Firefox Yes
Opera Yes
Safari Yes
Chrome Android Yes
Firefox for Android Yes
Opera Android Yes
Safari on iOS Yes
Internet Yes
WebView Android Yes

Constantes en lenguajes de programación

HttpStatusCode.MovedPermanently
http.StatusMovedPermanently
Response::HTTP_MOVED_PERMANENTLY
httplib.MOVED_PERMANENTLY
http.client.MOVED_PERMANENTLY
http.HTTPStatus.MOVED_PERMANENTLY
:moved_permanently
Autor: Tony Brüser
Autor: Tony Brüser

Tony Brüser es un entusiasta desarrollador web aficionado a los códigos de estado HTTP.

LinkedInGitHub