[17] [DFN[[CODE[[[rspauth]]]]]] [[引数]]は、
[[サーバー]]が[[クライアント]]に対して[[相互認証]]のための情報を提供するものです。
[[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.5>'''
- [18] [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.8>
]REFS]

* 意味

[5] [CODE[[[rspauth]]]] [[引数]]は、[RUBYB[[[相互認証]]]@en[[[mutual authentication]]]]のためのものです。
本[[引数]]により、[[サーバー]]が[[利用者]]の[[秘密]]を知っていることを[[証明]]できます。
[CODE[[[qop]]=[[auth-int]]]] の場合は、加えて、[[応答]]の[[一貫性]]もある程度保護できます。
[SRC[>>3]]

* 構文

[16] [[引用文字列]]構文で[[生成]]しなければ[['''なりません''']] [SRC[>>3]]。

[19] 値は、 [CODE[[[response=""]]]] [[引数]]と同様に計算します。

[6] [VAR[[[A2]]]] は、次のように決定します [SRC[>>3]]。

[FIG(steps)[
= [8] [VAR[[[qop]]]] を、[[要求]]の [[credentials]] の
[CODE[[[qop]]]] [[引数]]の値 (なければ [CODE[[[auth]]]]) に設定します。
= [12] [VAR[要求対象]]を、[[要求]]の[F[[[要求対象]]]]に設定します。
= [9] [VAR[qop]] が [CODE[[[auth]]]] なら、
== [11] [CODE[[[:]]]] と[VAR[要求対象]]を連結した値を返します。
= [10] [VAR[qop]] が [CODE[[[auth-int]]]] なら、
== [14] [VAR[実体本体]]を、[[応答]]の [F[[[payload body]]]] に設定します。
== [13] [CODE[[[:]]]]、[VAR[要求対象]]、[CODE[[[:]]]]、
[CODE[[VAR[[[H]]]] ([VAR[実体本体]])]] を連結した値を返します。
]FIG]

;; [7] [CODE[[[response=""]]]] [[引数]]の [VAR[[[A2]]]]
とは微妙に異なります。
[VAR[要求対象]]については [CODE[[[response=""]]]]
[[引数]]の項を参照。

;; [15] [CODE[[VAR[[[H]]]] ()]] は、[[ダイジェストアルゴリズム]]によって決まる[[関数]]です。

* 文脈

[4] [[ダイジェスト認証]]に成功したら、[[サーバー]]は、
[[応答]]の [CODE(HTTP)@en[[[Authentication-Info:]]]]
[[ヘッダー]] [SRC[>>3]]
や [CODE(HTTP)@en[[[Proxy-Authentication-Info:]]]] [[ヘッダー]] [SRC[>>18]] 
に [CODE(HTTP)@en[[[rspauth]]]] [[引数]]を指定できます。
必須ではありません [SRC[>>3]]。
[CODE[[[qop]]=[[auth]]]] や [CODE[[[qop]]=[[auth-int]]]] が指定された場合には、
[['''必須''']]です [SRC[>>3]]。

* 歴史

[2] [[RFC 2069]] には含まれておらず、 [[RFC 2617]] で追加されました。

[REFS[
- [1] [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.3>
]REFS]