I know this is an old question, but I think there is a subcomponent to the answers that I see here that have not been considered.
Remember that you are not retrieving a resource from the server, but you are getting a REPRESENTATION of the resource. The resource itself may have a change in the primary identifier or be remixed or something else, but the view that was returned to the client when the resource was created may (or cannot) be valid independently; it's all about the situation.
As an example, consider a moderated content loading system; the user may be able to upload content for review by moderators, which may ultimately lead to the content being presented to a wider audience / market. At boot, the server may respond with a URI that directs (say) "users / {userid} / uploaded / {contentid}" for this presentation of this content. At some point, the moderators may decide to promote the content on the "main page"; that the content view may be available in the URI "content / {contentid}"; which should not prevent the source loader from accessing their data on "users / {userid} / uploaded / {contentid}"; nothing says the need for constant redirection, and in fact there is a good reason for this to not be; if the user decides that he wants to delete the content, they should be able to perform DELETE on the content; probably much more preferable for users to do DELETE in content views from their “loaded” locations. However, if the conditions of the site indicate that the user’s rights to the downloaded content are canceled (not uncommon), it may make sense to force the moderation promotion process to effectively remove the content from the user's own area, causing a “constant move”.
It really depends entirely on the specific situation; the validity of the cached URI depends entirely on server policies. At the very least, I think that a request for an invalid URI (which might have been previously valid) should trigger a response (corresponding to HATEOAS) that could allow the client to "reopen" the resource (view) they were looking for; at least a link to the entry point.
Paul sonier
source share