[Date Prev][Date Next][Thread Prev][Thread Next][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だと上書きしてるみたいですね)
ぼくも正解は知りませんが、現在動いているもののやり方を踏襲するの
は一つの見識かと。:)
--
山岡