[Date Prev][Date Next][Thread Prev][][Date Index][Thread Index]

Re: w3m-expand-url



>>>>> In [emacs-w3m : No.09608] 青田さん wrote:

> w3m-expand-urlをいろいろといじりました。

どうもありがとうございます。Commit しました。(パッチが尻切れになっ
てましたが、現在の幹の状態でたぶん問題ないですね?)

> まず、
> (w3m-expand-url "index.html" "http://example.com")
>  => "http://example.com/home/hoge/.w3m/index.html"
> のように BaseURI がホスト名で終わっていると結果がおかしくなるので修正。

> 次に、emacs-w3m:09333での私のパッチの実装方法がどうも別のバグをひきおこ
> しているようだったので修正しました。

> ついでに、RFC3986の5.4.1、5.4.2を見てw3m-expand-urlの結果をテストしまし
> た。RFCと違ったのは以下の8つでした。

> BaseURI = http://a/b/c/d;p?q
>   url        RFCによる定義      w3m-expand-urlの結果
> 1 ?y         http://a/b/c/d;p?y	http://a/b/c/?y
> 2 /../g      http://a/g         http://a/../g
> 3 ../../../g http://a/g         http://a/../g
> 4 http:g     http:g             http://a/b/c/g
> 5 ./g/.      http://a/b/c/g/    http://a/b/c/g
> 6 /./g       http://a/g         http://a/./g
> 7 ..         http://a/b/        http://a/b
> 8 .          http://a/b/c/      http://a/b/c

> 1〜3は意図と違うページを開いたり、Apacheが理解しなかったりするので修正
> しました。

> 4は厳格に言えば間違いなのですが、互換性を考えると特に問題ないようなので
> 放置しています。

> 5〜8は、(file-name-nondirectory (substring url 0 path-end))が"."か".."
> の時に"/"を追加してやれば直るような気はするのですが…どうせサーバ側で処
> 理できるでしょうし直していません。

ははあ、少なくともぼくの場合、こんなふうにちゃんとテストしたこと
がありませんでしたね。

> ところで、URLがhttp://example.com/?q=fooのページで、

> <form method="GET" action="">
> <input type="hidden" value="bar" name="q">
> <input type="sumit" value="SUBMIT">
> </form>

> こんなformをsubmitすると、http://example.com/?q=foo?q=barをとりにいって
> ますが、これはどう処理すべきなのでしょうか?クエリを上書きするのが(おそ
> らく)制作者の意図にはあうのでしょうけど…。
> (素のw3mだと上書きしてるみたいですね)

ぼくも正解は知りませんが、現在動いているもののやり方を踏襲するの
は一つの見識かと。:)
-- 
山岡