基底文字列URL

基底文字列 URL (HTTP)

[2] 基底文字列URL (base string URL) は、対象URL を一部正準化し、 query素片識別子を除外したものです。

仕様書

定義

[3] 基底文字列URI (base string URI) は、要求する資源RFC 3986 URIscheme, authority, path のみとしたものです >>1

[5] RFC 5849 の「request resource URI」は対象URLのことを言っているのでしょうが、 明言されていません。

[4] schemehost は、小文字としなければなりません >>1

[6] hostパーセント符号化が含まれていることもあるでしょうが、 明記されていないのでそれも小文字化するようです。

[7] hostport は、 Host: ヘッダーの値と一致しなければなりません >>1

[8] 要求対象authority が含まれる場合に Host:一致していなければどうするべきか明らかではありませんが、その場合はそもそも HTTP レベルのエラーとするべきでしょう。

[9] port は、既定のポートなら省略し、そうでないなら含めなければなりません >>1

[10] 先導0正準化を求めてはいないようです。
[11] 非ASCII文字など対象URLRFC 3986 URI で使えない文字が含まれる時や、 構文的に正しくない URL である時にどうなるべきかは明確ではありません。

[13] userinfo は想定されていないものと思われますが、あまり明確ではありません。

文脈

[12] 基底文字列URLは、署名基底文字列の生成に使われます。 署名基底文字列には要求引数も含まれているので、基底文字列URL には query は含まれていません。