toinamiの日記β このページをアンテナに追加 RSSフィード

2009-02-05 (Thu)

URIに予約後使ってしまうサービスをブクマしたときの挙動問題 08:59 URIに予約後使ってしまうサービスをブクマしたときの挙動問題 - toinamiの日記β を含むブックマーク はてなブックマーク - URIに予約後使ってしまうサービスをブクマしたときの挙動問題 - toinamiの日記β URIに予約後使ってしまうサービスをブクマしたときの挙動問題 - toinamiの日記β のブックマークコメント

idea:23203 etc

URIに予約後使うサービスのほうを直してもらうべきじゃないかとは個人的に思う。idea:13222の時にも思いましたが。

撤回します。コメント欄参照

当時書いたこと再掲

URLに使用するとhatenabarなどで引用できなくなる可能性のある文字(未検証)

RFC3986 http://www.studyinghttp.net/cgi-bin/rfc.cgi?3986

URI は、"予約されている" 集合内の文字によって区切られる構成要素及び副構成要素を含んでいる。

これらの文字は、URI の逆参照アルゴリズムにおける一般的な構文、各スキーム特有の構文、あるいは実装特有の構文によって区切り子として定義される (あるいはされない) ので、"予約されている" と呼ばれる。

URI 構成要素についてのデータがデリミタとして予約されている文字の目的と競合する場合、競合するデータは URI が形成される前にパーセントエンコーディングされなければならない

      reserved    = gen-delims / sub-delims

      gen-delims  = ":" / "/" / "?" / "#" / "[" / "]" / "@"

      sub-delims  = "!" / "$" / "&" / "'" / "(" / ")"
                  / "*" / "+" / "," / ";" / "="

こいつらは適切にエスケープされていることが前提?なので、エスケープされたURLが引用元なら、hatenabarでもはてなツールバーでも問題ない。

http://beta.g.hatena.ne.jp/toinami/20061204/1165203714

YuichirouYuichirou2009/02/05 19:27"+"はクエリ内で空白を表す用途で「予約」された文字なので、当該URIの使い方は適切だと思います。例えばこのページの左上にある「日記の検索」で「a b」を検索してみると、多くのブラウザで http://beta.g.hatena.ne.jp/toinami/?word=a+b&.submit=%E6%A4%9C%E7%B4%A2 というURLに飛ぶはずです。

toinamitoinami2009/02/05 20:00コメントどうもです。
ああ、検索結果だと思わなかったのが敗因です。
空白が+になるのはわかった上で、素で「空白込みのURL吐くなんて筋の悪いウェブアプリだな」とか思ってしまいました。
検索結果なら確かに……

トラックバック - http://beta.g.hatena.ne.jp/toinami/20090205