/users/1
немного лучше, чем /me
, но на практике это, вероятно, вообще не имеет значения.
На высоком уровне REST вообще не заботится о написании URI. Компоненты общего назначения рассматривают URI как непрозрачные; только исходный сервер занимается бизнесом, пытающимся извлечь информацию semanti c из идентификатора.
С точки зрения дизайна /me
несколько уязвим к тому факту, что вы объединяете две разные задачи; "О ком этот ресурс?" msgstr "кому разрешен доступ?" Бывает, что сегодня «Боб» - единственный человек, которому разрешено читать ресурс «Боб», но нет особой причины, по которой эти две идеи всегда будут связаны друг с другом.
С точки зрения REST, имея одно и то же Идентификатор ресурса означает, что разные вещи, зависящие от другой информации заголовка, могут сделать кеширование представлений проблематичным c, так как вы заставляете кеши становиться намного умнее при принятии решения, когда представление можно использовать повторно.
HTTP решает некоторые из этих проблем с помощью заголовка Vary, который позволяет серверу происхождения описывать компонентам общего назначения, какие части HTTP-запроса могут изменить правильное представление для использования.
Но на практике даже это не имеет значения, потому что HTTP не позволяет общим кешам хранить ответ на запрос с полем заголовка Авторизация.