2011-01-28 16 views
342

के लिए पाठ/xml बनाम एप्लिकेशन/xml के बीच क्या अंतर है text/xml और application/xml के बीच अंतर के बारे में यह एक सामान्य प्रश्न है। मैं webservices (आरईएसटी - जर्सी) लिखने के लिए काफी नया हूँ। मैं application/xml का उत्पादन कर रहा हूं क्योंकि यह सीखने के लिए उपयोग किए जा रहे अधिकांश ट्यूटोरियल/कोड उदाहरणों में दिखाया गया है, लेकिन मुझे हाल ही में text/xml पता चला है और यह सोच रहा था कि इसके बारे में क्या अलग है और आप application/xml पर इसका उपयोग कब करेंगे?webservice प्रतिक्रिया

उत्तर

316

आरएफसी (3023) से, खंड 3, एक्सएमएल मीडिया प्रकार के नीचे:

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

(जोर मेरा)

+1

तो आपके द्वारा उद्धृत किए गए भाग को पढ़ने के लिए, मान लें कि गैर-मानव-पठनीय एक्सएमएल कैसा दिखता है, क्योंकि एक्सएमएल काफी ज्यादा टेक्स्ट है। मुझे लगता है कि यदि आपने बाइनरी या बेस 64 एन्कोडेड डेटा एम्बेड किया है ... – jcolebrand

+5

@drachenstern - मुझे लगता है कि गैर वर्णनात्मक तत्व और गुण अधिक संभावना (' ', उदाहरण के लिए, _casual_ उपयोगकर्ताओं द्वारा अपठनीय के रूप में)। – Oded

+132

मुझे लगता है कि "मानव" द्वारा उनका मतलब है "कंप्यूटर नेरड"। :) – biziclop

29

this article आवेदन के अनुसार/xml पसंद किया जाता है।


संपादित

मैं लेख पर एक छोटे से अनुवर्ती किया था।

लेखक का दावा है कि एन्कोडिंग XML प्रोसेसिंग निर्देश में घोषित कर दिया, जैसे: जब text/xml मीडिया प्रकार प्रयोग किया जाता है

<?xml version="1.0" encoding="UTF-8"?> 

पर ध्यान नहीं दिया जा सकता है।

वे RFC 2046 में text/* MIME प्रकार परिवार विनिर्देश की परिभाषा के साथ थीसिस का समर्थन है, विशेष रूप से निम्नलिखित टुकड़ा:

4.1.2. Charset Parameter 

    A critical parameter that may be specified in the Content-Type field 
    for "text/plain" data is the character set. This is specified with a 
    "charset" parameter, as in: 

    Content-type: text/plain; charset=iso-8859-1 

    Unlike some other parameter values, the values of the charset 
    parameter are NOT case sensitive. The default character set, which 
    must be assumed in the absence of a charset parameter, is US-ASCII. 

    The specification for any future subtypes of "text" must specify 
    whether or not they will also utilize a "charset" parameter, and may 
    possibly restrict its values as well. For other subtypes of "text" 
    than "text/plain", the semantics of the "charset" parameter should be 
    defined to be identical to those specified here for "text/plain", 
    i.e., the body consists entirely of characters in the given charset. 
    In particular, definers of future "text" subtypes should pay close 
    attention to the implications of multioctet character sets for their 
    subtype definitions. 

उनके मुताबिक, इस तरह के कठिनाइयों जब application/xml MIME प्रकार का उपयोग कर बचा जा सकता है। चाहे यह सच है या नहीं, मैं text/xml से बचने के लिए नहीं जाऊंगा। आईएमएचओ, मानव-पठनीयता (गैर-पठनीयता) के अर्थशास्त्र का पालन करना सबसे अच्छा है और हमेशा वर्णमाला निर्दिष्ट करना याद रखें।

+1

+1। अपने शब्दों में, आलेख में मूल निष्कर्ष क्या है? हो सकता है कि "आलेख बताता है कि फ़ाइल एन्कोडिंग को अनदेखा किया गया है, जिसका अर्थ है कि आप एक टेक्स्ट/xml शीर्षलेख वाली फ़ाइल में utf-8 और बाइनरी डेटा नहीं भेज सकते हैं" यह भी सत्यापित है? – Shanimal

+0

मैं @ शनिमल से सहमत हूं, उत्तर में आलेख का सारांश शामिल होना चाहिए क्योंकि लिंक हमेशा के लिए नहीं टिक सकता है। इसका गायब होने से जवाब काफी बेकार होगा। क्या कोई एन्कोडिंग से संबंधित XML प्रोसेसिंग निर्देशों को अनदेखा करने के बारे में बयान की पुष्टि कर सकता है – toniedzwiedz

+0

मूल लेखक के मुताबिक, इसे विनिर्देशों के बाद के संशोधनों में तय किया गया है 'अद्यतन: नई HTTP/1.1 आरएफसी में स्थिति बदल गई है: टेक्स्ट मीडिया प्रकारों के लिए आईएसओ -885 9 -1 का डिफ़ॉल्ट वर्ण हटा दिया गया है; डिफॉल्ट अब जो कुछ भी मीडिया प्रकार की परिभाषा कहता है। ' – TheNorthWes

48

यह एक पुराना सवाल है, लेकिन अक्सर एक बार देखा जाता है और स्पष्ट सिफारिशें अब RFC7303 से उपलब्ध हैं जो आरएफसी 3023 को अप्रचलित करती है। संक्षेप (खंड 9.2) में:

The registration information for text/xml is in all respects the same 
as that given for application/xml above (Section 9.1), except that 
the "Type name" is "text". 
3

application/xmlsvnके रूप में द्विआधारी प्रकार जबकि text/xmlके रूप में पाठ फ़ाइल जिसके लिए एक diff प्रदर्शित किया जा सकता द्वारा देखा जाता है।

संबंधित मुद्दे