Я знаю, что это старый вопрос, но я думаю, что есть ответы, которые я вижу здесь, и которые не были рассмотрены.
Помните, что вы не получаете ресурс с сервера, но вы получаете ПРЕДСТАВЛЕНИЕ ресурса. Сам ресурс может изменить свой первичный идентификатор, или изменить его, или что-то еще, но представление, которое было возвращено клиенту при создании ресурса, может (или не может) быть действительным независимо; все дело в ситуации.
В качестве примера рассмотрим систему загрузки модерируемого контента; пользователь может иметь возможность загружать контент для рассмотрения модераторами, что в конечном итоге может привести к тому, что контент будет представлен более широкой аудитории / рынку. При начальной загрузке сервер может ответить URI, который указывает (скажем) «users / {userid} / uploaded / {contentid}» для этого представления этого контента. В какой-то момент модераторы могут принять решение о продвижении контента на «первую страницу»; это представление контента затем может быть доступно по URI "content / {contentid}"; это не должно помешать исходному загрузчику получить доступ к своим данным в «users / {userid} / uploaded / {contentid}»; ничто не говорит о том, что должен быть постоянный редирект, и на самом деле, есть все основания не быть; если пользователь решит, что он хочет удалить контент, он должен иметь возможность выполнить УДАЛЕНИЕ контента; вероятно, гораздо предпочтительнее, чтобы пользователи делали УДАЛЕНИЯ к представлениям контента из своих «загруженных» мест. Однако если условия сайта указывают на то, что права пользователя на загруженный контент аннулированы (не редкость), может иметь смысл эффективно продвигать процесс модерации, удаляя контент из собственной области пользователя, вызывая «постоянное перемещение».
Это действительно полностью зависит от конкретной ситуации; срок действия кэшированного URI полностью зависит от политик сервера. По крайней мере, я думаю, что запрос к недействительному URI (который, возможно, был ранее действителен) должен вызывать ответ (в соответствии с HATEOAS), который может позволить клиенту «заново открыть» ресурс (представление), который он искал ; по крайней мере, ссылка на точку входа.