MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

フィードリーダーでリンク先が相対url
https://forums.mozillazine.jp/viewtopic.php?f=3&t=12978
ページ 11

作成者:  tomita [ 2012年5月09日(水) 10:36 ]
記事の件名:  フィードリーダーでリンク先が相対url

 ThunderBirdでフィードリーダーを愛用してます。
 とあるサイトのRSS配信で <link> 先が相対URLで記述されているのがあり、このフィードの内容をThunderBirdで参照することができませんでした。
 大抵のサイトのRSSでは<link>先がhttp://~で記述されており、問題なく参照できるのですが、この場合、問題なのは相対URLで記述してるサイトの方でしょうか? それとも、相対URLを展開しないThunderBirdのほうでしょうか? ざっと、RSSの仕様を調べても<link>先はURLでとなっており、相対じゃだめだとの記載は見当たりませんでした。

作成者:  kiki [ 2012年5月09日(水) 14:43 ]
記事の件名:  [RSS] 相対 URL のリンクコンテンツが参照できない

 
*質問・投稿する前に フォーラムの利用について を読んでその内容を理解した上で
 それに沿って投稿しましょう。
*ご自分の利用環境として正確な OS の種類と Thunderbird のバージョンぐらいは
 書き添えましょう。
*質問・投稿する前に、製品のヘルプやサポートサイトで検索・閲覧・確認してみま
 しょう。
*質問した後やアドバイスをもらった後には結果や経緯を必ず書くようにしましょう。

 
 
その相対 URL で記述されていて、フィードの内容が表示できない RSS を提示してください。
あるいは、そのソースを全部ここにコピーして貼り付けてください。
そうしないと具体的に確認できません。
 
 
【大きなお世話】
製品名(名称)は、ThunderBird ではなく Thunderbird です。
 

作成者:  Cai [ 2012年5月09日(水) 15:05 ]
記事の件名:  Re: フィードリーダーでリンク先が相対url

tomita さんが書きました:
 ThunderBirdでフィードリーダーを愛用してます。
 とあるサイトのRSS配信で <link> 先が相対URLで記述されているのがあり、このフィードの内容をThunderBirdで参照することができませんでした。
 大抵のサイトのRSSでは<link>先がhttp://~で記述されており、問題なく参照できるのですが、この場合、問題なのは相対URLで記述してるサイトの方でしょうか? それとも、相対URLを展開しないThunderBirdのほうでしょうか? ざっと、RSSの仕様を調べても<link>先はURLでとなっており、相対じゃだめだとの記載は見当たりませんでした。

RSS 内の相対 URL をどうするのかは、ちょっと検索しただけでもあちこちで問題になっているようです。
起点を RSS の URL にするのか、そのリンクが含まれる記事の URL にするのか、どちらとも解釈できます。
Thunderbird のようにローカルに RSS のコピーを保持している場合には、ローカルファイルを探すなんてことにもなりかねません(動作確認はしていませんが)。

Feed Validator にも "element should not contain relative URL references" という警告があるほどです。
http://feedvalidator.org/docs/warning/C ... elRef.html

HTML の base 要素のような起点を指定するものが RSS にもあればいいのですが。

作成者:  偶然的通行人 [ 2012年5月10日(木) 21:51 ]
記事の件名:  Re: フィードリーダーでリンク先が相対url

※質問するときは、フォーラムの利用について [投稿する前にお読みください] に目を通し、OS の種類や Thunderbird のバージョンといった使用環境についての最低限の情報を書き添えるか、投稿用テンプレート の利用をお勧めします。

横から失礼します。
あまり理論的なことは知らないため、体験したことのある範囲での話になりますが......。

ご存知のようにフィードの代表的なフォーマットには RSS と Atom があり、RSS は 1.0 と 2.0 で仕様が異なります。
「RSS配信」という言葉を、文字通り RSS フォーマットの意味でおっしゃっているのか、一般的なフィード(Feed)の代名詞としておっしゃっているのかで違いが出てきますから、もし当方の理解が間違っていたらすみません。

Cai さんが書きました:
HTML の base 要素のような起点を指定するものが RSS にもあればいいのですが。

Atom では xml:base が指定でき、これを基準に各エントリのリンクを明示的に "相対 URL" で記述できます。
Thunderbird 12.0.1 で Atom 形式のフィードを購読した場合、xml:base の指定と "相対 URL" の構造を解釈して各エントリを正しく表示してくれます。
おおまかにいうと次のような感じです。

<Atom の場合>
(例:共通の前提)
エントリの URL = http://hogeblog.ne.jp/entry8.html
Atom の URL = http://feed.hogeblog.ne.jp/atom.xml

atom.xml 内の記述
(例:1)
<feed xml:base="http://hogeblog.ne.jp" />
<link href="/entry8.html" />
 ↓ Thunderbird で読み込んだとき次のように解釈される。
http://hogeblog.ne.jp/entry8.html → 参照可

一方、xml:base を指定しないで各エントリを相対 URL で記述した場合、その Atom ファイルがある URL を基準に相対 URL を解釈します。
(例:2)
 ―― xml:base なし ――
<link href="/entry8.html" />
 ↓ Thunderbird で読み込んだとき次のように解釈される。
http://feed.hogeblog.ne.jp/entry8.html → 参照不可

<RSS の場合>
現状では、RSS で xml:base に相当する属性はなかったと思います(たぶん...)。
RSS 内の "相対 URL" の解釈は、一般的には RSS ファイルの置かれた URL が基準になるはずですが、実際の動作は各フィードリーダーに依存すると思われます。
とくに、RSS を自動生成するようなサービスで、ベースを定義しないままリンクを機械的に "相対 URL" にしてしまうような場合、不適切な結果をもたらすケースがあるかもしれません。

(補足)
一般に "URL" といった場合、<scheme>:<scheme-specific-part> の構文を意味しています。つまり "絶対 URL" のことです。
"相対 URL" は、基準となる URL を明確に定義できる階層構造の下でのみ意味を持ちます。基準をどこに置けばいいのか階層性にあいまいさがある状態では、"相対 URL" は正しく機能しないケースが出てきます。


tomita さんが書きました:
 とあるサイトのRSS配信で <link> 先が相対URLで記述されているのがあり、このフィードの内容をThunderBirdで参照することができませんでした。

すべてのリンクが RSS ファイルの URL をベースに持つなら、フィードリーダーによっては "相対 URL" を(結果的に)正しく解釈するものがあるのかもしれませんが、あくまでリーダーのふるまいに依拠したフィード配信ということになるのではないでしょうか。

フィードのフォーマットの違いで変わってくる部分もありますし、その記述が正確かどうか、正確だとしてそれを解釈する Thunderbird の動作は適切なのか …… 、いずれにせよ kiki さんがおっしゃるように当該フィードの内容がわからないことには先へ進めませんね。

雑駁ですが以上です。不正確な点や間違いがあったらツッコミお願いします。

作成者:  tomita [ 2012年5月22日(火) 10:02 ]
記事の件名:  Re: フィードリーダーでリンク先が相対url

ご回答ありがとうございました。
調べてみると、配信されているrssがrss1.0のようでしたので、この問題は配信元のほうにあるようです。

作成者:  kiki [ 2012年5月22日(火) 23:28 ]
記事の件名:  Re: [RSS] 相対 URL のリンクコンテンツが参照できない

 
*質問・投稿する前に フォーラムの利用について を読んでその内容を理解した上で
 それに沿って投稿しましょう。
*ご自分の利用環境として正確な OS の種類と Thunderbird のバージョンぐらいは
 書き添えましょう。
*質問・投稿する前に、サポートサイトやヘルプ、このフォーラム内を検索・閲覧し
 て確認してみましょう。
*質問した後やアドバイスをもらった後には結果や経緯を必ず書くようにしましょう。
 
   
 
RSS 1.0 だから、相対 URL だとは限りません。
配信元の問題かどうかもわかりません。

その相対 URL で記述されていて、フィードの内容が表示できない RSS を提示してください。
あるいは、そのソースを全部ここにコピーして貼り付けてください。
そうしないと具体的に確認できません。
 

作成者:  aides [ 2012年5月23日(水) 01:53 ]
記事の件名:  Re: フィードリーダーでリンク先が相対url

肝心の該当するファイルが不明ですが、Thunderbirdでのみの問題なら話は別ですが、ファイル自体の問題ならサイトの管理者に絶対記述を要請しては?
問題のファイルをブラウザで確認すれば記述内容が判明しますから。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/