RSS (RDF Site Summary) は、サイトの概要をメタデータとして記述する XML フォーマットで、サーバからは XML または RDF のデータ形式として送出される。メディアタイプとしては、application/rdf+xml とするのが正式だが、当面は application/xml とするのが現実的なようだ。
RSS に関しては、RSS(RDF Site Summary)によるサイト情報の要約と公開 で詳しく解説されている。このサイトの注意書きに、
〔注意〕サイト要約のフォーマットRSSとメタデータ記述の枠組みRDFを混同しないでください。RSS⊂RDFでもRSS⊃RDFでも、ましてRSS=RDFでもありません。
とある。ややこしい。RDF は「枠組み」であるが、RSSは「実装」である。そこに混乱の元があるというのだ。
RDF (Resource Description Framework) は、サイトの情報を記述するための単なる枠組みであり、RSS はこの取り決めに基づく実装だと考えることができる。RSS は XML 形式で記述されるので、.xml という拡張子が適切だと思われるが、.rdf という拡張子も存在する。MovableType のデフォルトでは、RSS 1.0 が index.rdf、RSS 2.0 が index.xml というファイル名になっている。RSS 2.0 が 1.0 の発展形でなく、必ずしもいいものではないというところが微妙なところ(RSSの歴史〔補足〕)。RFC3023 では、RDF のメディアタイプを application/rdf+xml としているが、現在の多くのブラウザでは、この形式のデータを受け取るときにダウンロードしようとしてしまう。ちょっとしたメモ - RDFのメディアタイプ によれば、当面は application/xml とするのが現実的なようである。
Apache のコンフィグレーション (VineLinux では /etc/httpd/conf/httpd.conf) で、RDF や XML の MIME タイプを指定していない場合、Feed Validator for Atom and RSS でチェックすると、「Valid (Conglatulations!)」にはなるが、次のような警告が表示される。
This feed is valid, but may cause problems for some users. We recommend fixing these problems.
- Feeds should not be served with the "text/plain" media type
- Your feed appears to be encoded as "EUC-JP", but your server is reporting "US-ASCII"
エラーではないが、なんとかしたい。これは httpd.conf にメディアタイプを追加することでクリアできる。
Master Archive Index
Total Entry Count: 1957
こんにちは。
最近RDFにスタイルシートを追加したんですが、.htaccessにAddType application/xml .rdfを追加してもfirefoxでちゃんと表示されませんでした。
いろいろ試した結果、AddType text/xml .rdfを追加することで上手く表示させることが出来ました。
難しいことは良く分かりませんけど、これでよかったのでしょうか・・・(汗
Posted by: zRyu at November 10, 2004 22:39メディアタイプを "text/xml" にするという流儀もあるようです。しかし、"text/xml" にすると文書内での文字コード指定は無視されてしまいます(RFC2376)。そこで、AddType でメディアタイプを指定するときに、同時に文字コードの指定もしてしまうのがよいようです。例えば、RDF の文字コードが EUC なら、
Posted by: n at November 12, 2004 00:48AddType "text/xml; charset=EUC-JP" .rdf
とするのがお勧めです。
アドバイスありがとうございます。
早速サーバに反映してみました。
では。
Posted by: zRyu at November 15, 2004 17:56