質問

「text/xml」を送ればいいと思っていたのですが、「application/xml」を送ればいいと書いてありました。関係ありますか?誰かが違いを説明できますか?

役に立ちましたか?

解決

との差 テキスト/xml そして アプリケーション/xml の場合のデフォルトの文字エンコーディングです。 文字コード パラメータが省略されている場合:

Text/XMLおよびApplication/XMLは、CharSetパラメーターが明示的に指定されていない場合、異なる動作を異なります。テキスト/XMLのデフォルトのcharset(すなわち、us-ascii)が何らかの理由で不便である場合(たとえば、悪いWebサーバー)、アプリケーション/XMLは代替を提供します(セクション3.2のアプリケーション/XML登録の「オプションパラメーター」を参照)。

のために テキスト/xml:

RFC2046]に適合している場合、Charsetパラメーターが省略されたテキスト/XMLエンティティが受信された場合、MIMEプロセッサとXMLプロセッサは、「US-ASCII」[ASCII]のデフォルトのcharSet値を使用する必要があります。XML MIMEエンティティがHTTPを介して送信されている場合、デフォルトのチャーセット値は依然として「US-ASCII」です。

のために アプリケーション/xml:

charsetパラメーターが省略されているアプリケーション/XMLエンティティが受信された場合、MIMEコンテンツタイプのヘッダーによるcharSetに関する情報は提供されていません。XMLプロセッサの適合は、この不測事態に直接対処する[XML]のセクション4.3.3の要件に従う必要があります。ただし、XMLプロセッサではないMIMEプロセッサは、アプリケーション/XMLエンティティからCharSetパラメーターが省略されている場合、デフォルトのcharsetを想定してはなりません。

したがって、 文字コード パラメータを省略した場合、文字エンコーディングは テキスト/xml は US-ASCII ですが、 アプリケーション/xml 文字エンコーディングはドキュメント自体で指定できます。

現在、インターネット上の経験則は次のとおりです。「出力に厳格になりますが、入力に耐性があります。」つまり、インターネットを介してデータを配信する際に、可能な限り標準を満たすことを意味します。ただし、インターネット経由でデータを受信して​​解釈するときに、障害を見逃したり、推測したりするためのメカニズムをいくつか組み込んでください。

したがって、あなたの場合は、2つのタイプのうち1つを選択するだけです(お勧めします) アプリケーション/xml) 使用する文字エンコーディングを適切に指定していることを確認してください (安全を期すために、それぞれのデフォルトの文字エンコーディングを使用することをお勧めします。 アプリケーション/xml UTF-8 または UTF-16 を使用してください)。

他のヒント

経験則として、あなたの文書をすべてのWebサーバー、プロキシ、およびクライアントブラウザで正しく扱うための最も安全な賭けは、おそらく次のものです。

  1. アプリケーション/ XMLコンテンツタイプ
  2. を使う
  3. コンテンツタイプの文字エンコーディング、おそらくUTF-8
  4. を含めます。
  5. XML文書自体の符号化属性に一致する文字エンコーディングを含みます。
  6. rfc 3023 spec、どのブラウザが正しく実装してもメジャーの実装に失敗する。コンテンツタイプの違いは、クライアントが文字エンコーディングの扱いの推測値にあります。

    Application / XML、Application / XML-DTD、Application / XML - 外部解析エンティティ、またはアプリケーション/原子+ XML、アプリケーション/ RSS + XML、またはアプリケーション/などのアプリケーション/ XMLのサブタイプのいずれか1つRDF + XML、文字エンコーディングはこの順序で決定されます。

    1. Content-Type HTTPヘッダ
    2. のcharsetパラメータにあるエンコーディング
    3. ドキュメント内のXML宣言のencoding属性に指定されたエンコーディング、
    4. UTF-8。
    5. text / xml、text / xml-autry-entity、またはtext / foo + XMLのようなサブタイプは、文書内のXML宣言のencoding属性は無視され、文字エンコードは次のとおりです。

      1. コンテンツタイプのHTTPヘッダのcharsetパラメータ、
      2. のcharsetパラメータに指定されたエンコーディング
      3. US-ASCII。
      4. ほとんどのパーサーは仕様を実装しません。 HTTPコンテキストタイプを無視し、文書内のエンコーディングを使用します。そこにたくさんの病気の文書を除いて、すぐにいつでも変更することはほとんどありません。

両方は細かいです。

text / xxxでは、プログラムがxxxがわからない場合は、ファイルをプレーンテキストとしてユーザーに表示することを意味します。Application / XXXはそれが表示されるのが無意味であることを意味します。

これらのコンテンツタイプは、後でWeb Worldで使用される前に、もともと電子メールの添付ファイルに対して定義されていました。

text / XMLは、それ以上の処理なしにテキストとして提示された場合、人間にとって意味のある文書のためのものであり、アプリケーション/ XMLは他のすべてのためのものです

すべてのXMLエンティティは、アプリケーション/ XMLメディアでの使用に適しています 変更なしでタイプしてください。しかし、これは事実を悪用しません XMLは多くの場合、プレーンテキストとして扱うことができます。 MIMEユーザーエージェント 明示的なサポートがない(およびWebユーザーエージェント) アプリケーション/ XMLはそれをアプリケーション/オクテットストリームとして扱います。 例、ファイルに保存することを申し出ることによって。

XMLエンティティをプレーンテキストとして扱う必要があることを示す デフォルトでは、text / XMLメディアタイプを使用してください。これはエンコーディングを制限します XMLエンティティで互換性のあるものに使用されます。 [RFC-2045]に記載されているテキストメディアタイプの要件 [RFC-2046]、例えばUTF-8ではなく、UTF-16(HTTPを除く)。

- http://www.ietf.org/rfc/rfc2376.txt

その他の答えここでの答えXML応答の適切なContent-Typeがあるものの一般的な問題に対処し、(と同様に) text/xmlapplication/xmlの両方が許容されていることを確認してください。ただし、 Sitemaps に固有の規則があるかどうかなしアドレスなし。

回答:そうではありません。 SiteMap Specは https://www.sitemaps.org 、およびGoogle site:検索を使用することが確認できます。単語やフレーズを含まない mime content-type アプリケーション/ XML 、または > text / xml 任意の場所。言い換えれば、それはSUTEMAPSを提供するためにContent-Typeを使用するべきです。

この質問に直接取り組むサイトマップスペックで解説がない場合は、他のXML文書のContent-Typeを選択するときと同じ規則が適用されると仮定することができます。 P>

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top