--- set: 3 code: 301 title: Moved Permanently references: "Rails HTTP Status Symbol": ":moved_permanently" "Go HTTP Status Constant": "http.StatusMovedPermanently" "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" --- The target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs. Clients with link-editing capabilities ought to automatically re-link references to the effective request URI to one or more of the new references sent by the server, where possible. The server SHOULD generate a Location header field in the response containing a preferred URI reference for the new permanent URI. The user agent MAY use the Location field value for automatic redirection. The server's response payload usually contains a short hypertext note with a hyperlink to the new URI(s). Note: For historical reasons, a user agent MAY change the request method from POST to GET for the subsequent request. If this behavior is undesired, the [307 Temporary Redirect](/307) status code can be used instead. A 301 response is cacheable by default; i.e., unless otherwise indicated by the method definition or explicit cache controls[1](#ref-1). --- * 1 Calculating Heuristic Freshness [RFC7234 Section 4.2.2][2] * Source: [RFC7231 Section 6.4.2][1] [1]: [2]: