[2] [DFN[[RUBYB[[[基底文字列URL]]]@en[base string URL]]]]は、[[対象URL]]
を一部[[正準化]]し、 [[query]] と[[素片識別子]]を除外したものです。

* 仕様書

[REFS[
- [1] [CITE@en[RFC 5849 - The OAuth 1.0 Protocol]] ([TIME[2014-12-28 14:19:21 +09:00]] 版) <http://tools.ietf.org/html/rfc5849#section-3.4.1.2>
]REFS]

* 定義

[3] [RUBYB[[[基底文字列URI]]]@en[base string URI]]は、[[要求]]する[[資源]]の [[RFC 3986]]
[[URI]] の [[scheme]], [[authority]], [[path]] のみとしたものです [SRC[>>1]]。

;; [5] [[RFC 5849]] の「request resource URI」は[[対象URL]]のことを言っているのでしょうが、
明言されていません。

[4] [[scheme]] と [[host]] は、[[小文字]]としなければ[['''なりません''']] [SRC[>>1]]。

;; [6] [[host]] に[[パーセント符号化]]が含まれていることもあるでしょうが、
明記されていないのでそれも[[小文字]]化するようです。

[7] [[host]] と [[port]] は、 [CODE(HTTP)@en[[[Host:]]]] [[ヘッダー]]の値と[[一致]]しなければ[['''なりません''']]
[SRC[>>1]]。

;; [8] [[要求対象]]に [[authority]] が含まれる場合に [CODE(HTTP)@en[[[Host:]]]]
と[[一致]]していなければどうするべきか明らかではありませんが、その場合はそもそも [[HTTP]]
レベルのエラーとするべきでしょう。

[9] [[port]] は、[[既定のポート]]なら省略し、そうでないなら含めなければ[['''なりません''']] [SRC[>>1]]。

;; [10] [[先導0]]の[[正準化]]を求めてはいないようです。

;; [11] [[非ASCII文字]]など[[対象URL]]に [[RFC 3986]] [[URI]] で使えない[[文字]]が含まれる時や、
構文的に正しくない [[URL]] である時にどうなるべきかは明確ではありません。

[13] [[userinfo]] は想定されていないものと思われますが、あまり明確ではありません。

* 文脈

[12] [[基底文字列URL]]は、[[署名基底文字列]]の生成に使われます。
[[署名基底文字列]]には[[要求引数]]も含まれているので、[[基底文字列URL]]
には [[query]] は含まれていません。