मुझे अपने XML साइटमैप के लिए किस सामग्री-प्रकार मान को भेजना चाहिए?




mime-types sitemap (3)

मैंने सोचा कि मुझे "टेक्स्ट / एक्सएमएल" भेजना चाहिए, लेकिन फिर मैंने पढ़ा कि मुझे "एप्लिकेशन / एक्सएमएल" भेजना चाहिए। फर्क पड़ता है क्या? क्या कोई अंतर बता सकता है?


अंगूठे के नियम के रूप में, आपके दस्तावेज़ को सभी वेब सर्वरों, प्रॉक्सी और क्लाइंट ब्राउज़र द्वारा सही तरीके से इलाज करने की दिशा में सबसे सुरक्षित शर्त शायद निम्न है:

  1. एप्लिकेशन / एक्सएमएल सामग्री प्रकार का प्रयोग करें
  2. सामग्री प्रकार, शायद यूटीएफ -8 में एक वर्ण एन्कोडिंग शामिल करें
  3. XML दस्तावेज़ के एन्कोडिंग विशेषता में मिलान करने वाले वर्ण एन्कोडिंग को शामिल करें।

आरएफसी 3023 spec के संदर्भ में, जो कुछ ब्राउज़र ठीक से लागू करने में असफल होते हैं, सामग्री प्रकारों में प्रमुख अंतर यह है कि क्लाइंट एन्कोडिंग का इलाज कैसे किया जाता है, निम्नानुसार है:

एप्लिकेशन / एक्सएमएल, एप्लिकेशन / एक्सएमएल-डीटी, एप्लिकेशन / एक्सएमएल-बाहरी-पारस्परिक-इकाई, या आवेदन / एक्सएमएल के उपप्रकारों में से किसी एक जैसे अनुप्रयोग / एटम + एक्सएमएल, एप्लिकेशन / आरएसएस + एक्सएमएल या एप्लिकेशन / rdf + xml के लिए , वर्ण एन्कोडिंग इस क्रम में निर्धारित है:

  1. सामग्री-प्रकार HTTP शीर्षलेख के वर्णसेट पैरामीटर में दिया गया एन्कोडिंग
  2. दस्तावेज़ के भीतर एक्सएमएल घोषणा के एन्कोडिंग विशेषता में दिया गया एन्कोडिंग,
  3. utf-8।

टेक्स्ट / एक्सएमएल, टेक्स्ट / एक्सएमएल-बाहरी-पारस्परिक-इकाई, या पाठ / foo + xml जैसे उप प्रकार, दस्तावेज़ के भीतर एक्सएमएल घोषणा की एन्कोडिंग विशेषता को अनदेखा किया जाता है, और वर्ण एन्कोडिंग है:

  1. सामग्री-प्रकार HTTP शीर्षलेख के वर्णसेट पैरामीटर में दिया गया एन्कोडिंग, या
  2. हमें-ascii।

अधिकांश पार्सर्स spec लागू नहीं करते हैं; वे HTTP संदर्भ-प्रकार को अनदेखा करते हैं और दस्तावेज़ में एन्कोडिंग का उपयोग करते हैं। वहां इतने सारे खराब गठित दस्तावेजों के साथ, जल्द ही किसी भी समय बदलने की संभावना नहीं है।


दोनों ठीक हैं।

टेक्स्ट / xxx का अर्थ है कि यदि प्रोग्राम xxx को समझ में नहीं आता है तो फ़ाइल को उपयोगकर्ता को सादा पाठ के रूप में दिखाने का अर्थ होता है। एप्लिकेशन / xxx का मतलब है कि यह दिखाने के लिए व्यर्थ है।

कृपया ध्यान दें कि वेब सामग्री में बाद में उपयोग किए जाने से पहले उन सामग्री-प्रकारों को मूल रूप से ई-मेल अटैचमेंट के लिए परिभाषित किया गया था।


पाठ / एक्सएमएल और एप्लिकेशन / एक्सएमएल के बीच का अंतर डिफ़ॉल्ट वर्ण एन्कोडिंग है यदि वर्णसेट पैरामीटर खराब है:

पाठ / एक्सएमएल और एप्लिकेशन / एक्सएमएल अलग-अलग व्यवहार करते हैं जब वर्णसेट पैरामीटर स्पष्ट रूप से निर्दिष्ट नहीं होता है। यदि टेक्स्ट / एक्सएमएल के लिए डिफ़ॉल्ट वर्णसेट (यानी, यूएस-एएससीआईआईआई) कुछ कारणों (जैसे, खराब वेब सर्वर) के लिए असुविधाजनक है, तो एप्लिकेशन / एक्सएमएल एक विकल्प प्रदान करता है (धारा 3.2 में आवेदन / एक्सएमएल पंजीकरण के वैकल्पिक विकल्प "देखें)।

text/xml :

[आरएफसी 2046] के अनुरूप, यदि किसी पाठ / xml इकाई को वर्णित पैरासेट पैरामीटर के साथ प्राप्त किया जाता है, तो एमआईएम प्रोसेसर और एक्सएमएल प्रोसेसर को "us-ascii" [ASCII] के डिफ़ॉल्ट वर्णसेट मान का उपयोग करना चाहिए। ऐसे मामलों में जहां XML MIME इकाई HTTP के माध्यम से प्रेषित की जाती है, डिफ़ॉल्ट वर्णसेट मान अभी भी "us-ascii" है।

application/xml :

यदि कोई अनुप्रयोग / xml इकाई प्राप्त होती है जहां वर्णसेट पैरामीटर छोड़ा जाता है, तो एमआईएम सामग्री-प्रकार शीर्षलेख द्वारा वर्णमाला के बारे में कोई जानकारी प्रदान नहीं की जा रही है। एक्सएमएल प्रोसेसर को अनुरूप बनाना [एक्सएमएल] की धारा 4.3.3 में आवश्यकताओं का पालन करना चाहिए जो सीधे इस आकस्मिकता को संबोधित करते हैं। हालांकि, एमआईएम प्रोसेसर जो एक्सएमएल प्रोसेसर नहीं हैं, यदि किसी अनुप्रयोग / एक्सएमएल इकाई से वर्णसेट पैरामीटर छोड़ा गया है तो डिफ़ॉल्ट वर्णसेट नहीं मानना ​​चाहिए।

इसलिए यदि वर्णसेट पैरामीटर छोड़ा गया है, तो टेक्स्ट / एक्सएमएल का वर्ण एन्कोडिंग यूएस-एएससीआईआई है जबकि आवेदन / एक्सएमएल के साथ चरित्र एन्कोडिंग दस्तावेज़ में ही निर्दिष्ट किया जा सकता है।

अब इंटरनेट पर अंगूठे का नियम है: "आउटपुट के साथ सख्त रहें लेकिन इनपुट के साथ सहिष्णु रहें।" इसका मतलब है कि इंटरनेट पर डेटा वितरित करते समय जितना संभव हो सके मानकों को पूरा करना सुनिश्चित करें। लेकिन इंटरनेट पर डेटा प्राप्त करने और व्याख्या करने के दौरान गलतियों को नजरअंदाज करने या अनुमान लगाने के लिए कुछ तंत्रों में निर्माण करें।

तो अपने मामले में बस दो प्रकारों में से एक चुनें (मैं एप्लिकेशन / एक्सएमएल की सिफारिश करता हूं) और सुनिश्चित किया गया है कि प्रयुक्त वर्ण एन्कोडिंग ठीक से निर्दिष्ट करें (मैं सुरक्षित खेलने के लिए संबंधित डिफ़ॉल्ट वर्ण एन्कोडिंग का उपयोग करने की अनुशंसा करता हूं, इसलिए एप्लिकेशन / एक्सएमएल उपयोग के मामले में यूटीएफ -8 या यूटीएफ -16)।





xml-sitemap