URL указывает на сам ресурс. «Клиент» - это ресурс, на который можно воздействовать, поэтому он должен быть частью базового URL: /orders/view/client/23
.
Параметры как раз для параметризации доступа к ресурсу. Особенно это касается постов и поисков: /orders/find?q=blahblah&sort=foo
. Между параметрами и подресурсами есть тонкая грань: /orders/view/client/23/active versus /orders/view/client/23?show=active
. Я рекомендую стиль подресурса и резервные параметры для поиска.
Так как каждая конечная точка RE представляет State Transfer (для искажения мнемоники), пользовательские заголовки следует использовать только для вещей, которые не включают имя ресурса (URL), состояние ресурса (тело), или параметры, непосредственно влияющие на ресурс (параметры). Это оставляет истинные метаданные о запросе пользовательских заголовков.
HTTP имеет очень широкий выбор заголовков, которые охватывают почти все, что вам нужно. Там, где я видел пользовательские заголовки, находится системный запрос, действующий от имени пользователя. Прокси-система проверит пользователя и добавит «X-User: userid
» к заголовкам и использует системные учетные данные для достижения конечной точки. Принимающая система проверяет, что системные учетные данные авторизованы для действий от имени пользователя, а затем проверяет, что пользователь авторизован для выполнения действия.