3. Well-Known URI
3. Well-Known URI
Well-known URI とは, パスコンポーネントが文字 /.well-known/ で始まる URI [RFC3986] であり, かつ当該スキームが well-known URI をサポートするよう明示的に定義されているものである.
例えば, アプリケーションが名前 example を登録した場合, http://www.example.com/ 上の対応する well-known URI は http://www.example.com/.well-known/example となる.
本仕様は http [RFC7230] および https [RFC7230] スキームを更新し, well-known URI をサポートする. 他の既存スキームは定義を更新する適切な手続きを使える. 例えば [RFC8307] は ws および wss スキームについてそうしている. 「Uniform Resource Identifier (URI) Schemes」レジストリが, どのスキームが well-known URI をサポートするかを追跡する. 第 5.2 節を参照.
新しい well-known URI を mint したいアプリケーションは, 第 5.1 節の手続きに従い MUST 登録し, 次の要件を満たさなければならない.
登録名は [RFC3986] の segment-nz 生成規則に MUST 適合する. つまり / を含んではならない.
特定アプリケーション向けの登録名は, それに見合う精度を持つ SHOULD. 汎用語の「占有」は推奨されない. 例えば Example アプリケーションがメタデータ用の well-known 場所を求めるなら, 適切な登録名は example-metadata や example.com-metadata かもしれず, metadata ではない.
登録には少なくとも, well-known URI を dereference して得られる形式と関連メディアタイプ (media type), および well-known URI と共に使える URI スキームを定義する仕様への参照が含まれる. URI スキームが明示されない場合, http および https が想定される.
通常, アプリケーションは所定スキームのデフォルトポートを使う. 代替ポートを使う場合は, 当該アプリケーションが MUST 明示しなければならない.
登録には MAY, well-known URI に付加する追加パスコンポーネント, クエリ文字列, フラグメント識別子の構文, またはプロトコル固有の詳細 (例: HTTP [RFC7231] のメソッド取り扱い) などの追加情報を含めてもよい.
本仕様は, 特定アプリケーションの well-known URI を見つけるために使うホスト名の決定方法も, well-known URI を dereference して発見するメタデータの範囲も定義しない. 両方はアプリケーション自身が定義すべきである.
また, 本仕様は /.well-known/ にあるリソースの形式やメディアタイプを定義せず, クライアントはその場所にリソースが存在することを期待すべきではない.
Well-known URI はパス階層の最上位に根ざす. パスの他の部分では well-known ではない. 例えば /.well-known/example は well-known URI だが, /foo/.well-known/example はそうではない.
Well-known 場所に関するセキュリティ考慮事項は第 4 節も参照.
3.1. Well-Known URI の登録
「Well-Known URIs」レジストリは https://www.iana.org/assignments/well-known-uris/ にある. 登録リクエストは, そこにある手順に従うか, メーリングリスト [email protected] に電子メールを送って行える.
登録リクエストには少なくとも次の情報が含まれる.
URI suffix: /.well-known/ に対する相対的な well-known URI の要求名. 例: example.
Change controller: Standards Track RFC の場合は 「IETF」と記す. それ以外は責任者名を示す. その他の詳細 (メールアドレス, ホームページ URI など) を含めてもよい.
Specification document(s): フィールドを規定する文書への参照. できれば文書のコピーを取得できる URI を含める. 関連節の指示を含めてもよいが必須ではない.
Status: permanent または provisional のいずれか. 下記の指針を参照.
Related information: 任意で, さらに関連情報を含む追加文書への引用.
登録値に対する一般要件は第 3 節に記す.
Standards Track RFC およびその他のオープン標準 ([RFC2026] 第 7.1.1 節の意味において) で定義された値は permanent ステータスを持つ. 専門家がコミュニティと協議の上で使用中と判断した場合, 他の値も permanent として登録できる. それ以外の値は provisional として登録すべきである.
専門家は, コミュニティと協議の上で使用中でないと判断した場合, provisional エントリを削除できる. 専門家は provisional エントリのステータスを permanent に変更できる. その際, 値の使用の広さを考慮し, 事前にコミュニティと協議すべきである.
上記の「コミュニティと協議」とは, 当該 URI スキームに責任を持つ者を指す. 通常は該当ワーキンググループ (終了している場合もある) のメーリングリストで行われ, そのようなリストがない場合は [email protected] で行われる.
専門家が, 未登録の well-known URI が広く展開されており, さもないと適時に登録されない可能性が高いと判断した場合, 第三者 (専門家を含む) も well-known URI を登録できる. そのような登録も, 仕様への参照を含むなど, 定義された要件の対象となる.