From: Tanaka Akira Date: 2004-07-28T00:26:24+09:00 Subject: [ruby-dev:23985] Re: WEBrick::HTTPUtils.escape and URI.escape In article <20040727.202554.424240116.gotoyuzo@sawara.priv.tokyo.netlab.jp>, GOTOU Yuuzou writes: > そういうことになるのですが、そもそも何に使うのかという話です > よね。 はい。用途がはっきりしないと動作が適切かどうか判断できませんから。 > WEBrick::HTTPUtilsを書いた時にはescape_formが念頭にあっ > て、escapeはURI.escapeの仕様を真似て作ったような気がします。 > path部分のエスケープには使えると思っていたのですが、"?"の例 > で明らかになったようにそうではありませんでしたね。 ふむ。とすると、URI.escape の作者待ちですかね。 > しかし、よくよく考えてみると、このへんはuriライブラリがまだ > 標準添付ではなかった時代のいわば残骸なので、積極的にURI.escape > (とURI::REGEXP::PATTERN)を使うべきだという気がして来ました。 まぁ、標準添付のものだけでも escape の類はたくさんあるので、減らすのは 賛成です。WEBrick::HTTPUtils.escape は google で探してもほとんど用例が 出て来ないので、使っている人はかなり少なく、単に obsolete してしまうと いうのも現実的だと思います。 > うーむ、まずはURI.escapeの第2引数を活用してちゃんとエスケー > プしつつURIを組み立てる方法を考えた方がいいですかねえ。 URI.escape を使わなければいけないということはないと思いますが、なんら かのメソッドを提供するなら、正しく組み立てるやりかたを支援する仕様にし ないと不幸な人を誘発してしまうかもしれませんね。 ところで、Ruby レシピブックを見ると、CGI.escape と URI.escape に触れて いて、ちゃんと URI.escape が & などをエスケープしないことも述べてあり ますね。惜しむらくは URI.escape がどのような用途に適切なのかが書かれて いないことですが... -- [田中 哲][たなか あきら][Tanaka Akira]