« フレームで構成されたサイトを 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 について
トラックバック
このエントリーのトラックバックURL:
http://133.242.136.64/mt-tb-sf.cgi/250