application/xml vs text/xml — XML MIMEタイプの解説

application/xmlとtext/xmlの違い、それぞれの使用タイミング、XHTMLやその他のXMLベースフォーマットとの関係を理解します。

Application Types

詳細な説明

XML MIMEタイプ

XMLコンテンツはapplication/xmltext/xmlの2つのMIMEタイプで配信できます。どちらも有効ですが、重要な違いがあります。

text/xml

text/xmlはRFC 3023で定義されました。charsetパラメータが提供されない場合、文字エンコーディングはデフォルトでUS-ASCIIになります。

application/xml

application/xmlはcharsetが指定されない場合、デフォルトでUTF-8になります(XML仕様に基づく)。国際的なコンテンツにより安全です。

どちらを使うべきか?

RFC 7303(2014年)ではapplication/xmlが推奨タイプとされています。

特徴 text/xml application/xml
デフォルトcharset US-ASCII UTF-8
非ASCIIに安全 明示的charset指定時のみ はい
推奨 レガシー用 はい(RFC 7303)

ユースケース

XML APIや設定ファイルのデフォルトとしてapplication/xmlを使用します。text/xmlはそれを必要とするレガシーシステムにのみ使用します。非ASCII文字のエンコーディング問題を避けるため、text/xml使用時は常にcharset=utf-8を含めてください。

試してみる — MIME Type Reference

フルツールを開く