2017-03-20 3 views
0

Ajaxを使用して "user-agent"ヘッダーを設定できるとは限りません。 (ユーザーエージェントは多少予約されたキーワードなので、セキュリティ上の理由から、一部のブラウザーではこれを偽造できません)。ベストプラクティス:httpヘッダーの "User-Agent"ではなく、アプリを識別するためのものは何ですか?

私のRESTサービスを呼び出す際に、発信者が誰(どのアプリケーション)がそれを使用しているかについての手がかりを与えたいと思います。 登録は必須ではありません。それは、私のWebサービスを閉じたままにしておきたい外部の(貴重な)クライアントがいるかどうかを確認する方法です。

"user-agent"を使用できない場合は、代わりに使用するいくつかの名前がありますか? X-Application-Id? X-UserAgent?

これらのX - ***ヘッダーをすべてリストしたドキュメントがありますか?

+0

「X -...」という接頭辞について、私はその考えがあなたを補うことができると考えています。 –

+0

あまりにも多くの選択肢:)そのような使用のための事実上の標準はありますか? – frenchone

答えて

0

アプリケーションによっては、カスタムヘッダーをアプリケーションに追加することができます。

あなたの質問から、カスタムヘッダーを設定できると仮定します。アプリケーションのデフォルトがOfficial HTTP Specificationに記載されたUser-Agentフラグを使用することです:

「のUser-Agent」ヘッダフィールドは、多くの場合、サーバによって使用され、要求を発信するユーザエージェントに関する情報が含まれています報告された相互運用性の問題の範囲の特定、特定のユーザーエージェントの制限を回避するための対応策の調整、ブラウザーやオペレーティングシステムの使用に関する分析に役立ちます。ユーザーエージェントは、特にそうしないように構成されていない限り、各要求でUser-Agentフィールドを送信すべきである(SHOULD)。

別のカスタムヘッダーを追加する場合は、ヘッダーの名前に制限や推奨事項はありません。 RFC 6648で説明したように、「X-」接頭辞を使用してはならないことに、注意してください:アプリケーションプロトコルの

歴史的に、設計者と実装者は、多くの場合で標準化されていないパラメータの名前を付けることによって、標準化と標準化されていないパラメータを区別しています文字列 "X-"または同様の構成要素。実際には、その慣習は解決するよりも多くの問題を引き起こします。したがって、この文書では、アプリケーションプロトコルのテキスト(数値とは対照的)の名前で新しく定義されたパラメータの規約を廃止しています。

+0

はいカスタムヘッダーを設定できます。しかし、一部のブラウザ(Chromeの一部のバージョン)では、「ユーザーエージェント」を設定することはできません。 – frenchone

関連する問題