application/xml vs text/xml — XML MIMEタイプの解説
application/xmlとtext/xmlの違い、それぞれの使用タイミング、XHTMLやその他のXMLベースフォーマットとの関係を理解します。
Application Types
詳細な説明
XML MIMEタイプ
XMLコンテンツはapplication/xmlとtext/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を含めてください。