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 cliente PUEDE utilizar el valor del campo Location para la redirección automática. La carga útil de la respuesta del servidor suele contener una breve nota de hipertexto con un hipervínculo al nuevo URI.
Nota: Por razones históricas, un agente de usuario PUEDE cambiar el método de solicitud de POST a GET para la solicitud posterior. Si no se desea este comportamiento, se puede utilizar en su lugar el código de estado 307 Temporary Redirect.
Una respuesta del código 301 HTTP 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 la caché.
Referencias de programación del Código HTTP 301
- Symfony HTTP Status Constant
Response::HTTP_MOVED_PERMANENTLY
- Python2 HTTP Status Constant
httplib.MOVED_PERMANENTLY
- Python3+ HTTP Status Constant
http.client.MOVED_PERMANENTLY
- Python3.5+ HTTP Status Constant
http.HTTPStatus.MOVED_PERMANENTLY
- Go HTTP Status Constant
http.StatusMovedPermanently
- Rails HTTP Status Symbol
:moved_permanently
- .NET HTTP Status Constant
System.Net.HttpStatusCode.MovedPermanently
- C# HTTP Status Enum
HttpStatusCode.Moved
- C# HTTP Status Enum (Alternative)
HttpStatusCode.MovedPermanently
- Rust HTTP Status Constant
http::StatusCode::MOVED_PERMANENTLY