[14] [[challenge]] の [DFN[[CODE(HTTP)@en[[[domain]]]]]] [[引数]]は、
[[保護空間]]の [[URL]] のリストを指定するものです。

;; [17] ここでいう「domain」は、[[ドメイン名]]の意味ではなく、
[[セキュリティー]]的な対象の範囲を意味しているようです。値は[[ドメイン名]]ではなく、
[[URL]] です。

* 仕様書

[REFS[
- [3] [CITE@en[RFC 7616 - HTTP Digest Access Authentication]] ([TIME[2015-11-10 07:05:08 +09:00]] 版) <https://tools.ietf.org/html/rfc7616#section-3.3>
]REFS]

* 意味

[4] [CODE(HTTP)@en[[[domain]]]] [[引数]]は、[[保護空間]]を定義するものです [SRC[>>3]]。

* 構文

[16] [CODE(ABNF)@en[[[auth-param]]]] 
の[[引用文字列]]構文を使わなければ[['''なりません''']] [SRC[>>3]]。

[5] [[RFC 3986]] [[URI]] の[RUBYB[[[間隔]]]@en[space]]区切りのリストです [SRC[>>3]]。

;; [6] [[間隔]]の定義は不明です。 [[RFC 2617]] 時代は
1つ[[以上]]の [CODE(ABNF)[[[SP]]]] と明記されていました [SRC[>>2]] が、
[[RFC 7616]] ではなぜか削除されています。

[7] [[URI]] が [[path-absolute]] であれば、[[正準根URL]]を[[基底URL]]とします [SRC[>>3]]。

;; [12] 他の[[相対URL]]の場合の[[基底URL]]は謎です。

;; [19] [[URI]] は [[RFC 2617]] 時代は [CODE(ABNF)@en[[[absoluteURI]]]]
または [CODE(ABNF)@en[[[abs_path]]]] とされていました [SRC[>>2]] が、 
[[RFC 7616]] でそのような制限は明記されていません。制限を緩和して[[基底URL]]
の規定を忘れたのか、誤って制限の規定を削除してしまったのかは謎です。
(どちらにしても杜撰な話ですが、 [[IETF]] ではままあることです。)

[8] [[URI]] は、異なる[[起源]]のものであっても構いません [SRC[>>3]]。

* 文脈

[15] [[ダイジェスト認証]]の [[challenge]] で使うことができます。

* 処理

[9] [[クライアント]]は、同じ認証情報を適用できる [[URL]] の範囲を決定するために
[CODE(HTTP)@en[[[domain]]]] [[引数]]の値を使うことができます。
指定された [[URL]] (を[[解決]]したもの) が[[接頭辞]]である [[URL]]
は、同じ[[保護空間]]内として扱うことができます。 [SRC[>>3]]

;; [13] できるというだけで、必須とはされていません。実際にどう[[クライアント]]が処理しているのかは不明です。
異なる[[起源]]に [[credentials]] を自動送信するのは[[セキュリティー]]上の問題かもしれません。

;; [18] [[接頭辞一致]]とだけ規定されていて、[[ディレクトリー]]単位などは考慮されないようです。
[[URL]] の[[正準化]]についても明言されていません。 [CODE[http://foo.example]]
と指定されていると [CODE[http://foo.example.net]]
も[[接頭辞一致]]してしまいますが、流石にそれは問題がありそうです。

[10] [[クライアント]]は、 [CODE(HTTP)@en[[[domain]]]] [[引数]]が指定されていないか[[空]]なら、
同じ[[起源]]の [[URL]] すべてが[[保護空間]]内とみなす[['''べきです''']] [SRC[>>3]]。

[11] ただし、 [CODE(HTTP)@en[[[Proxy-Authenticate:]]]] [[ヘッダー]]に指定されても無視しなければ[['''なりません''']]。
常に[[プロキシ]]全体が[[保護空間]]となります。 [SRC[>>3]]

* 歴史

[REFS[
- [1] [CITE@en[RFC 2069 - An Extension to HTTP : Digest Access Authentication]] ([TIME[2012-02-26 10:05:21 +09:00]] 版) <http://tools.ietf.org/html/rfc2069#section-2.1.1>
- [2] [CITE@en[RFC 2617 - HTTP Authentication: Basic and Digest Access Authentication]] ([TIME[2012-01-09 21:04:30 +09:00]] 版) <http://tools.ietf.org/html/rfc2617#section-3.2.1>
]REFS]