http://example.com/test.phpがあったとします。(PHPである必要はない)

<pre>
<?= htmlspecialchars($_SERVER['REQUEST_URI']); ?>

<a href="?foo=bar">?foo=bar</a>
<a href="?fizz=buzz">?fizz=buzz</a>
</pre>

このとき、手元にあるユーザーエージェント(Chrome 41, w3m/0.5.3, GNU Wget 1.13.4)は、どれもリンクを以下のように展開します。

  • "?foo=bar" => http://example.com/test.php?foo=bar
  • "?fizz=buzz" => http://example.com/test.php?fizz=buzz

このような挙動について、HTMLや関連する規格の裏付けはあるのでしょうか。それとも、ユーザーエージェントの実装上の慣習に過ぎないのでしょうか。