Q1: このClientHello ALPN listはRFC 7301上valid?
Multiple Choiceclientがh2, empty byte string, http/1.1の3 identifierを送ります. implementationはempty entryを無視して続行する案です.
範囲: RFC 7301はpublication当時のTLSでconnection単位のapplication-protocol negotiationを定義します. TLS 1.3ではserver selectionをServerHelloではなくEncryptedExtensionsで運びます. ALPNはprotocolを選択しますが, agent認証, task authorization, 別々に終端されたTLS connection間のbindingは行いません.
clientがh2, empty byte string, http/1.1の3 identifierを送ります. implementationはempty entryを無視して続行する案です.
clientはh2, http/1.1の順にadvertiseします. serverは両方をsupportし, 自身のpreferenceはhttp/1.1, h2の順です.
ALPNを処理するserverはhttp/1.1だけをsupportし, ClientHelloがadvertiseするprotocolはh2だけです.
clientはh2とhttp/1.1をofferします. TLSは完了しましたがclientはnegotiated ALPN valueなしと報告し, serverもALPN extensionを返していません.
serverはALPNでh2をselectした後, backend pool変更を理由に同じTLS connectionでHTTP/1.1 application dataを送ります.
previous sessionはh2をnegotiateしました. resumption時の新ClientHelloはserverもsupportするhttp/1.1だけをofferします.
privacy reviewは, TLS 1.3を使えばcomplete ALPN exchangeがordinary on-path observerから見えなくなると主張します.
A2A gatewayがh2をselectしたclient TLS connectionを終端します. backendへ別TLS connectionを開き, external-alpn=h2 headerを転送します. backendはこれをoriginal secure channel, agent identity, grant holder, task authorizationの証拠とする案です.