名前空間の予約、登録、ルーティング
予約と登録は、HTTP Server API がコンピューター上の URL 名前空間へのアクセスを許可する操作です。 アプリケーションは、HTTP クライアントからの要求をサービスするために、URL 名前空間の一部に登録できます。 アプリケーションは、 HttpAddUrl 関数を使用して HTTP Server API に名前空間を登録します。 HTTP Server API は、アプリケーションの要求キューに URL を追加し、キュー内の URL に応じてアプリケーションに要求をルーティングします。 ただし、アプリケーションを登録して URL 名前空間の要求を受け取る前に、システム管理者は、アプリケーションを実行しているユーザーの代わりに、その URL の予約を行う必要があります。 既定では、名前空間は閉じられています。つまり、管理者のみが予約を入力するまで UrlPrefixes を登録できます。
予約は、URL 名前空間の一部を個々のユーザーに永続的に割り当てて、名前空間のその部分を予約または "所有" できるようにします。 予約により、ユーザーは名前空間のサービス要求に登録する権限が与えます。 HTTP Server API を使用すると、ユーザーが所有していない名前空間の一部から URL を登録できなくなります。 名前空間のセキュリティを確保するために、ACL (Access Control リスト) は、各ユーザー用に予約されている名前空間の部分に適用されます。
予約済み名前空間は、登録に使用される URL プレフィックスと同じ方法で書式設定された URL プレフィックス文字列によって識別されます。 つまり、すべてのさまざまなホスト指定子カテゴリも予約に使用できます。
名前空間の予約は再起動後も保持され、変更は動的に有効になるため、マシンを停止して再起動する必要はありません。
名前空間の登録と予約のプロセスに適用される次の概念をさらに明確にしています。
- 登録。 登録は、アプリケーションが指定された UrlPrefix の要求を受信することに関心があることを示す操作です。 URL 登録用の API は HttpAddUrl です。 登録は通常、アプリケーションの起動時に行われ、アプリケーションが起動するたびに実行する必要があります。
- ルーティング。 ルーティングは、登録または予約されている最適な UrlPrefix に基づいて、要求をディスパッチするアプリケーションを決定するために HTTP Server API によって実行されます。 ルーティング操作では、登録情報と予約情報の両方が使用されます。
- 予約。 予約は、URL 名前空間の一部を 1 人以上のユーザーに割り当てます。 この操作により、ユーザーは指定した名前空間に登録する権限が与わります。 名前空間が予約されているユーザーは、URL 名前空間のその部分を "所有" していると言われます。 名前空間の予約は通常、アプリケーションのインストール中に実行され、頻度の低い操作です。 予約はマシンの再起動後も保持され、作成または削除には委任特権を持つマシンまたは所有権に対する管理者特権が必要です。
- 委任。 委任特権を使用すると、名前空間を所有するユーザーは、後続の予約によってサブツリーの所有権を別のユーザーに譲渡できます。 委任特権は、予約が行われるとシステム管理者によってユーザーに付与されます。 1 人または複数のユーザーに、名前空間への委任特権を割り当てることができます。