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 представляет передачу состояния (чтобы исказить мнемонику), настраиваемые заголовки следует использовать только для вещей, которые не включают имя ресурса (URL-адрес), состояние ресурса (тело) или параметры напрямую. влияющие на ресурс (параметры). Это оставляет истинные метаданные о запросе настраиваемых заголовков.
HTTP имеет очень широкий выбор заголовков, охватывающих практически все, что вам нужно. Я видел, что пользовательские заголовки появляются в системе для системного запроса, действующего от имени пользователя. Прокси-система проверит пользователя и добавит " X-User: userid
" в заголовки и будет использовать учетные данные системы для попадания в конечную точку. Принимающая система проверяет, что учетные данные системы авторизованы действовать от имени пользователя, а затем подтверждают, что пользователь авторизован для выполнения действия.
Пользовательские заголовки имеют следующие преимущества:
источник
Я бы использовал настраиваемый заголовок только тогда, когда нет другого способа передать информацию по стандарту или соглашению. Darren102 объясняет типичный способ передачи этого значения. Ваш Api будет гораздо более дружелюбным, если использовать типичные стихи шаблонов с использованием настраиваемых заголовков. Это не значит, что у вас не будет случая их использовать, просто они должны быть последним средством и что-то еще не обработанное спецификацией HTTP.
источник
Аутентификация: идентификаторы GUID, базовая аутентификация, пользовательские токены и т. Д., Например, базовая аутентификация с токеном Guid для REST api вместо имени пользователя / пароля.
Если вы участвуете в передаче токенов или другой информации, похожей на аутентификацию, между доменами, на которые распространяется PCI-DSS или другие правила безопасности, вам также может потребоваться похоронить параметры, потому что некоторые правила явно требуют, чтобы элементы аутентификации не попадали в URL-адреса, которые могут быть тривиально воспроизведены (из истории браузера, журналы прокси и т. д.).
источник
Для REST нет стандарта, но приемлемым способом будет
Не используются настраиваемые заголовки, и, следовательно, 23 после представления предполагается, что это идентификатор, поэтому у вас будет функция, которая принимает идентификатор и, следовательно, производит только эту информацию.
источник
Я бы не стал использовать настраиваемые заголовки, поскольку вы не знаете, передадут ли их какие-либо прокси. На основе URL-адреса - это путь.
источник
Определенно ОК:
Также ОК:
Думаю, это тоже будет нормально:
источник
Вы можете использовать настраиваемые заголовки, чтобы включить дополнительную информацию о частично обработанном запросе, учитывая, что Enveloping не является хорошей практикой. Заголовки в безопасности .
источник