[2] [DFN[[CODE(HTTP)@en[[[OPES-System:]]]]]] [[ヘッダー]]および
[DFN[[CODE(HTTP)@en[[[OPES-Via:]]]]]] [[ヘッダー]]は、
[[OPES]] における[[追跡]]情報を含めるものです。

* 仕様書

[REFS[
- [1] [CITE@en[RFC 4236 - HTTP Adaptation with Open Pluggable Edge Services (OPES)]] ([TIME[2014-09-22 20:05:44 +09:00]] 版) <https://tools.ietf.org/html/rfc4236#section-4>
]REFS]

* 構文

[3] 両[[ヘッダー]]の値は、0個以上の値の[[リスト]] ([CODE(HTTP)[#]]) です [SRC[>>1]]。

[FIG(railroad)[
= ?
== 値
== *
=== [[OWS]]
=== [CODE(HTTP)[[[,]]]]
=== [[OWS]]
=== 値
]FIG]

[4] それぞれの値は、[[絶対URL]]の後に0個以上の[[引数]]を続けたものです。
ただし[[引数]]の前には [CODE(HTTP)[[[;]]]] が必要です。 [SRC[>>1]]

[5] [[絶対URL]] は [[RFC 2616]] を通じて [[RFC 2396]] [CODE(ABNF)@en[[[absoluteURI]]]]
の定義を、[[引数]]は [[RFC 2616]] [CODE(ABNF)@en[[[parameter]]]] の定義を参照しています
[SRC[>>1]]。またこの当時の構文の規定では[[空白]]を明記していませんが、
[[RFC 723x]] 世代でいう [[OWS]] が [CODE(HTTP)[[[;]]]] の前後に挿入できるものと推測されます。

[FIG(railroad)[
= [[絶対URL]]
= *
== [[OWS]]
== [CODE(HTTP)[[[;]]]]
== [[OWS]]
== [[引数 (HTTP)]]
]FIG]

[6] [[絶対URL]] には [CODE(HTTP)[[[,]]]] や [CODE(HTTP)[[[;]]]]
を含めることもできますが、区切り文字としてのこれらとどう区別するのかには言及がまったくありません。

* 文脈

[7] 両[[ヘッダー]]を[[応答]]で使った例が示されています [SRC[>>1]] が、
[[要求]]で使って良いか悪いかには言及がありません。他の [[RFC]]
に [CODE(HTTP)@en[[[OPES-System:]]]] [[ヘッダー]]を使った例があります [SRC[>>11]]。

[8] 両[[ヘッダー]]は複数指定できます。しかし複数指定するのではなく、
1つにまとめる[['''べきです''']]。 [SRC[>>1]]

[9] 任意選択の追跡情報に関する[[ヘッダー]]は[[トレーラー部]]に含めて構いません。
必須の追跡情報は[[トレーラー部]]に含めては[['''なりません''']]。 [SRC[>>1]]

* 引数

[10] 構文上の[[引数]]は、追跡情報に含まれる引数を表すために使うようですが、
明確に説明されていません。例示では [CODE(HTTP)@en[[[mode]]]]
[[引数]]が使われています。どのような[[引数]]を使って良いのか、
重複や順序の扱いなどは明記されていません。

* 歴史

[REFS[
- [11] [CITE@en[RFC 3914 - Open Pluggable Edge Services (OPES) Treatment of IAB Considerations]] ([TIME[2014-11-03 08:42:22 +09:00]] 版) <http://tools.ietf.org/html/rfc3914#section-5.2>
]REFS]

[12] [[RFC 4229]] による[[IANA登録簿]]への登録にはタイミング的に間に合わなかったのでしょうが、
その後も現在に至るまで[[IANA登録簿]]には追加されていないようです。 [TIME[2014-11-14T09:19:05.300Z]]
