[7] [DFN[[RUBYB[難読化識別子]@en[obfuscated identifier]]]]は、
内部構造を隠すために[[生成]]された[[節点識別子]]です。

* 仕様書

[REFS[
- [1] [CITE@en[RFC 7239 - Forwarded HTTP Extension]] ([TIME[2014-09-07 05:21:07 +09:00]] 版) <https://tools.ietf.org/html/rfc7239#section-6>
-- [6] [CITE@en[RFC 7239 - Forwarded HTTP Extension]] ([TIME[2014-09-07 05:21:07 +09:00]] 版) <https://tools.ietf.org/html/rfc7239#section-6.3>
]REFS]

* 難読化節点

[2] [[節点]]名は、 [CODE[[[_]]]] に続く1文字以上の[[ASCIIラテン文字]]、
[[ASCII数字]]、[CODE[[[.]]]]、[CODE[[[_]]]]、[CODE[[[-]]]] の列によって表します [SRC[>>1]]。

[FIG(railroad)[
= [CODE(HTTP)[[[_]]]]
= +
== |
=== [[ASCIIラテン文字]]
=== [[ASCII数字]]
=== [CODE(HTTP)[[[.]]]]
=== [CODE(HTTP)[[[_]]]]
=== [CODE(HTTP)[[[-]]]]
]FIG]

[4] 難読化した[[節点]]名は、追跡やデバッグを可能としつつも内部構造や繊細な情報は隠すためのものです
[SRC[>>1, >>6]]。

[8] また[[IPアドレス]]よりも何らかの[[インターフェイス]]の名札を[[串]]が使っていて、
そちらの方が便利な時にも使えます [SRC[>>6]]。

[9] [[難読化識別子]]は、利用上静的に割り当てる必要がある場合を除き、
[[要求]]ごとに[[無作為]]に[[生成]]する[['''べきです''']] [SRC[>>6]]。
[[永続化]]する必要がある場合でも、[[クライアント]]の[[IPアドレス]]より長く[[永続化]]する[['''べきではありません''']]。
[SRC[>>6]]

;; [11] [CODE[Via:]] [[ヘッダー][HTTPヘッダー]]や [CODE[Warning:]] [[ヘッダー][HTTPヘッダー]]の[[プロキシの名前]]では[[変名][変名 (HTTP)]]に相当しますが、
構文が大きく異なります。

* 難読化ポート

[3] [[ポート番号]]は、 [CODE[[[_]]]] に続く1文字以上の[[ASCIIラテン文字]]、
[[ASCII数字]]、[CODE[[[.]]]]、[CODE[[[_]]]]、[CODE[[[-]]]] の列によって表します [SRC[>>1]]。

[FIG(railroad)[
= [CODE(HTTP)[[[_]]]]
= +
== |
=== [[ASCIIラテン文字]]
=== [[ASCII数字]]
=== [CODE(HTTP)[[[.]]]]
=== [CODE(HTTP)[[[_]]]]
=== [CODE(HTTP)[[[-]]]]
]FIG]

[5] 難読化ポートは、追跡やデバッグを可能としつつも、
[[NAT]] 環境での[[ポート番号]]を隠すなど内部構造を隠すためのものです [SRC[>>1]]。

* 例

[EG[
[10] [[難読化識別子]]を使った [CODE(HTTP)@en[[[Forwarded:]]]] [[ヘッダー]]の例 [SRC[>>6]]

[PRE(HTTP code)[
Forwarded: for=_hidden, for=_SEVKISEK
]PRE]
]EG]