URLはリソースそのものを示します。 「クライアント」は、操作できるリソースなので、ベースURLの一部である必要があります。/orders/view/client/23
パラメータは、リソースへのアクセスをパラメータ化するためのものです。これは、特に、投稿と検索:/orders/find?q=blahblah&sort=foo
で始まります。パラメータとサブリソースの間には細い線があります:/orders/view/client/23/active versus /orders/view/client/23?show=active
。私はサブリソースのスタイルと検索のための予約パラメータをお勧めします。
リソースの名前(URL)、リソースの状態(本文)、またはリソースの状態(本文)を含まないものに対してのみ、カスタムヘッダーを使用する必要があります。 、またはリソースに直接影響を与えるパラメータ(パラメータ)。カスタムヘッダーのリクエストに関する真のメタデータが残っています。
HTTPには、必要なものすべてをカバーする非常に幅広いヘッダーがあります。私が見たところでは、カスタムヘッダーが現れるのは、ユーザーの代わりに動作するシステムからシステムへの要求です。プロキシシステムはユーザーを検証し、ヘッダーに "X-User: userid
"を追加し、システム認証情報を使用してエンドポイントにヒットします。受信側システムは、システムクレデンシャルがユーザの代わりに行動することを認可されたことを検証し、ユーザがそのアクションを実行する権限を有することを確認する。
このような包括的な答えをありがとう!モバイルAPIにX-Userを使用しても、(ヘッダーを取り除く)悪意のあるプロキシを持つリスクはまだ高いですか? –
いいえ、私が言及したX-Userの使用は、システムが第三者に代わって動作しているシステム間接続にあります。たとえば、ユーザーUはサーバーAと通信します。サーバーAは、「ユーザーUの代わりにこのアクションを実行する権限があるかどうかを確認するために資格情報を使用する」と言うX-ユーザーヘッダーを使用して、サーバーBに信任状を提示します。これはService Oriented Architecturesにあります。通常はHTTPSを使用しています。モバイルプラットフォームは、ほとんどの場合、ユーザー自身の行動であり、トランザクションに適切な第1者の資格情報を使用する必要があります。 – Nialscorva
第3段落は、私がSO--)で読んだ最も有益な回答の1つです – Alistair77