« フレームで構成されたサイトを RSS 対応にする方法 | メイン | Headline-Reader の フリーウェア版 がリリース »

2005年10月24日

URLが「../」で始まるニュースを取得できない不具合を改修致しました あとで読む

MyRSS.jp ならびに RSSフィード.cc のクローラーで

 ・RSS化対象として指定された URL がトップディレクトリではなく
   (例: http://blog.myrss.jp/archives/ )
 ・そのページに表示されたニュースの URL が 「../」で始まっている
   (例: ../index.html )

場合に、ニュースの URL が正しく取得できないという不具合がありました。

これにより、一部サイトの最新情報が正しく取得できていない状態になって
いました。大変申し訳ございません。

本不具合は10/24 PM 12:30 に改修作業を実施させて頂きました。
#ご連絡頂きましたユーザーの方、ありがとうございます。


こちらの不具合なのですが、URLに含まれる「../」の取り扱いに関する改修に起因した不具合となっています。

すこし具体例を挙げますと、Internet Explorer では

http://blog.myrss.jp/archives/myrsslogo.gif

という URL をクリックすると画像が表示されます。
これは

http://blog.myrss.jp/archives/../archives/myrsslogo.gif

と書くこともできます。
さらに、

http://blog.myrss.jp/archives/../../../../../archives/myrsslogo.gif

などと書くことも(実際には)許容されているようです。

しかしながら、トップディレクトリについては

http://blog.myrss.jp/../archives/myrsslogo.gif

と書くと 400 Bad Request のエラーが戻ってきます。

(そして、この URL を Firefox に入力すると画像が表示されたりします…)


しかしながら、InternetExplorer では http://blog.myrss.jp/ トップのページ に href="../archives.myrsslogo.gif" という記述をしても、ただしく画像が表示されます。
これはブラウザが URL をサーバーに送る前に、適切な整形をしているから のようです。


つまり、URL の解釈は HTTP サーバーに一任されているわけではなく、ブラウザでもさまざまな制御が行われています。


ということで、MyRSS.jp のクローラーでも、このような「ブラウザによる制御」を吸収する処理をいれていたのですが、これにより一部 URL が正しく取得できなくなるという不具合が発生してしまっていた、というわけです。

誠に申し訳ございません。


#RFC での正しい解釈については調べきれていないのですが、トップディレクトリのさらに上位ディレクトリを指すまで「../」を使うこと自体が(apacheへの通常のリクエストとしては)間違いと言い切っても問題ないと思っているのですが。。。意外にそういうサイトが結構あるので対応しています。。

投稿者 aka : 2005年10月24日 12:42  / 2005年10月 / (~2006) My RSS について

トラックバック

人気ブログランキング - a++ My RSS 管理人ブログ

このエントリーのトラックバックURL:
http://133.242.136.64/mt-tb-sf.cgi/250

コメント

コメントしてください

あわせて読みたい




保存しますか?