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


128

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

जवाबों:


160

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

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

के लिए text / xml :

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

के लिए application / xml :

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

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

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

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


24

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

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

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

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

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

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

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

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


9

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

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

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


6

पाठ / xml उन दस्तावेज़ों के लिए है जो मानव के लिए सार्थक होंगे यदि पाठ को आगे की प्रक्रिया के बिना पाठ के रूप में प्रस्तुत किया जाए, तो आवेदन / xml बाकी सब चीजों के लिए है

प्रत्येक XML निकाय अनुप्रयोग / xml मीडिया प्रकार में संशोधन के बिना उपयोग के लिए उपयुक्त है। लेकिन यह इस तथ्य का फायदा नहीं उठाता है कि XML को कई मामलों में सादे पाठ के रूप में माना जा सकता है। MIME उपयोगकर्ता एजेंट (और वेब उपयोगकर्ता एजेंट) जिनके पास एप्लिकेशन / xml के लिए स्पष्ट समर्थन नहीं है, वे इसे एप्लिकेशन / ऑक्टेट-स्ट्रीम के रूप में मानेंगे, उदाहरण के लिए, इसे फ़ाइल में सहेजने की पेशकश करके।

यह इंगित करने के लिए कि XML इकाई को डिफ़ॉल्ट रूप से सादे पाठ के रूप में माना जाना चाहिए, पाठ / xml मीडिया प्रकार का उपयोग करें। यह XML इकाई में उपयोग किए जाने वाले एन्कोडिंग को प्रतिबंधित करता है जो पाठ मीडिया प्रकारों की आवश्यकताओं के अनुकूल हैं, जैसा कि [RFC-2045] और [RFC-2046] में वर्णित है, उदाहरण के लिए, UTF-8, लेकिन UTF-16 के अलावा (इसके अलावा नहीं) एचटीटीपी)।

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


फिर भी, यह मज़ेदार है कि पसंदीदा HTML MIME प्रकार है text/htmlऔर पसंदीदा XHTML MIME प्रकार है application/xhtml+xml
जंक

1
ज़रुरी नहीं। text/htmlलगभग एक लंबे समय के लिए किया गया है, और इसे बदलने में थोड़ी देर हो गई।
क्वेंटिन

1

अन्य उत्तर यहां Content-Typeएक एक्सएमएल प्रतिक्रिया के लिए क्या उचित है के सामान्य प्रश्न को संबोधित करते हैं , और निष्कर्ष निकालते हैं (जैसा कि पाठ / xml बनाम एप्लिकेशन / xml के बीच का अंतर webservice प्रतिक्रिया के लिए ) है कि दोनों text/xmlऔर application/xmlअनुमेय हैं। हालाँकि, कोई भी पता नहीं है कि साइटमैप के लिए विशिष्ट कोई नियम हैं या नहीं ।

उत्तर: नहीं हैं। साइटमैप युक्ति https://www.sitemaps.org है , और Google site:खोजों का उपयोग करके आप यह पुष्टि कर सकते हैं कि इसमें शब्द या वाक्यांश mime , mimetype , सामग्री-प्रकार , एप्लिकेशन / xml , या पाठ / xml कहीं भी शामिल नहीं हैं। दूसरे शब्दों में, यह पूरी तरह से इस विषय पर मौन है कि Content-Typeसाइटमैप के उपयोग के लिए क्या उपयोग किया जाना चाहिए।

इस प्रश्न को सीधे संबोधित करने वाले साइटमैप में किसी भी टिप्पणी के अभाव में, हम सुरक्षित रूप से यह मान सकते हैं कि Content-Typeकिसी अन्य XML दस्तावेज़ को चुनते समय भी यही नियम लागू होते हैं - अर्थात यह text/xmlया तो हो सकता है application/xml

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.