[11] [DFN[[CODE(HTTP)@en[[[opaque]]]]]] [[引数]]は、
[[サーバー]]が任意のデータを[[クライアント]]に送信させるものです。
[[HTTP]] [[ダイジェスト認証]]で使われます。

* 仕様書

[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>'''
- [12] [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.4>
- [8] [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.6>
]REFS]

* 意味

[4] [CODE(HTTP)@en[[[opaque]]]] [[引数]]の値は、[[サーバー]]が指定する文字列です
[SRC[>>3]]。

[9] [[クライアント]]は[[サーバー]]が指定した [CODE[[[opaque]]]]
を当該[[セッション]]の間そのまま [[credentials]] に指定することになっていますから、
認証セッションの状態情報を伝達するためにこれを使うことができます。 [SRC[>>8]]

;; [10] [CODE(HTTP)[[[nonce]]]] にもより簡単かつ安全にそうした情報を含められます
[SRC[>>8]]。

* 構文

[16] [CODE(ABNF)@en[[[auth-param]]]] 
の[[引用文字列]]構文を使わなければ[['''なりません''']] [SRC[>>3, >>12]]。

[7] [[Base64]] や[[十六進数]]で符号化した[[文字列]]を使う[['''べきです''']] [SRC[>>3]]。

* 文脈

[5] [[ダイジェスト認証]]の [[challenge]] [SRC[>>3]] や
[[credentials]] [SRC[>>12]] に指定できます。

* 処理

[13] [[credentials]] には [[challenge]] で指定された値をそのまま指定しなければなりません
[SRC[>>12]]。

[6] [[クライアント]]は、 [[challenge]] で受信した [CODE(HTTP)@en[[[opaque]]]]
[[引数]]値をそのまま変更せずに同じ[[保護空間]]内の [[URL]] に対する[[要求]]の
[[credentials]] で指定する[['''べきです''']] [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#page-5>
- [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]