क्या आरएसएस पाठकों और अन्य स्क्रेपर्स के साथ संगतता सुनिश्चित करने के लिए एक MIME प्रकार बेहतर है?
विकल्प प्रतीत होते हैं:
- text / xml
- पाठ / rss + xml
दिलचस्प Stackoverflow पाठ / html का उपयोग कर रहा है।
क्या आरएसएस पाठकों और अन्य स्क्रेपर्स के साथ संगतता सुनिश्चित करने के लिए एक MIME प्रकार बेहतर है?
विकल्प प्रतीत होते हैं:
दिलचस्प Stackoverflow पाठ / html का उपयोग कर रहा है।
जवाबों:
न तो। यह http://www.rssboard.org/rss-mime-type-application.txt हैapplication/rss+xml
text/xml
।
अन्य टिप्पणीकारों ने बताया है कि एकल सही माइम प्रकार है application/rss+xml,
।
हालाँकि, यदि आप किसी क्लाइंट के लिए स्वीकार शीर्षलेख सेट कर रहे हैं
Accept: application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4
यह एक अच्छा विकल्प हो सकता है, क्योंकि यह बताता है कि यह RSS, एटम और XML (अवरोही क्रम या वरीयता में) को स्वीकार करता है।
q
पैरामीटर के साथ इंगित की जाती है , इसलिए वांछित प्रभाव के लिए इसे भेजना बेहतर होगा Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8
, जिसका अर्थ है "फीड के लिए सही MIME प्रकारों में से किसी को भी प्राथमिकता दें। यदि आप ऐसा नहीं कर सकते हैं, तो पसंद करें application/xml
। यदि आप ऐसा नहीं कर सकते हैं । पसंद करें text/xml
। अन्यथा, बस मुझे वह दें जो आपको मिला है "
Accept
नीचे दिए गए मेरे उत्तर में लोकप्रिय फ़ीड्स के उदाहरणों के साथ हेडर के सुझाए गए दोनों रूपों की कोशिश की , और वे सभी वापस लौट आए text/xml
। मैंने कमांड का उपयोग किया:curl -s -H 'Accept: application/rss+xml, application/rdf+xml, application/atom+xml, application/xml;q=0.9, text/xml;q=0.8' -H 'Content-Type: application/rss+xml' -I $f
यहाँ एक व्यावहारिक जवाब है: जो भी "सही" उत्तर हो सकता है (और स्पष्ट रूप से इस बारे में बहस हो रही है), text/xml
वह प्रकार है जो जंगली में सभी लोकप्रिय फ़ीड्स द्वारा बहुत अधिक उपयोग किया जाता है ।
यहाँ कुछ है कि मैं जाँच की है:
$ for f in \
https://feeds.feedburner.com/TechCrunch/ \
http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml \
http://rss.nytimes.com/services/xml/rss/nyt/HomePage.xml \
https://daringfireball.net/thetalkshow/rss \
http://www.npr.org/rss/podcast.php?id=381444908 \
http://feeds.serialpodcast.org/serialpodcast \
http://podcasts.joerogan.net/feed \
https://feeds.feedburner.com/thetimferrissshow \
http://feed.thisamericanlife.org/talpodcast ; do \
curl -s -I $f | fgrep -i Content-Type: ; done
content-type:text/xml; charset=UTF-8
Content-Type: text/xml
Content-Type: text/xml
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml;charset=UTF-8
Content-Type: text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
content-type:text/xml; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
तो आप यह सुनिश्चित कर सकते हैं कि text/xml
आमतौर पर उपयोग किए जाने वाले आरएसएस ग्राहकों द्वारा सही ढंग से व्याख्या की जाएगी।
सबसे सही हैapplication/rss+xml
सबसे संगत हैapplication/xml
W3C के अनुसार:
RSS फ़ीड्स को एप्लिकेशन / rss + xml के रूप में परोसा जाना चाहिए (RSS 1.0 एक RDF प्रारूप है, इसलिए इसे अनुप्रयोग / rdf + xml के रूप में प्रस्तुत किया जा सकता है)। एटम फ़ीड को एप्लिकेशन / एटम + xml का उपयोग करना चाहिए। वैकल्पिक रूप से, व्यापक रूप से तैनात वेब ब्राउज़रों के साथ संगतता के लिए, इनमें से कोई भी फ़ीड एक और सामान्य XML प्रकारों का उपयोग कर सकता है - अधिमानतः अनुप्रयोग / xml।
https://validator.w3.org/feed/docs/warning/UnexpectedContentType.html
यदि आप यह सुनिश्चित करना चाहते हैं कि RSS फ़ीड और अन्य स्क्रैपर्स के साथ संगत है , तो MIME एप्लिकेशन / rss + xml सुरक्षित रहें। यही मैं उपयोग करता हूं।
आप उपयोग कर सकते हैं text/xml
, लेकिन सही MIME प्रकार होगा application/rss+xml
।
application/xml
पर पसंद किया जाता है text/xml
क्योंकि XML सामान्य पाठ सामग्री एन्कोडिंग नियमों का पालन नहीं करता है। यह अपने डेटा में अपने एन्कोडिंग को एम्बेड कर सकता है, जो समस्याओं का कारण होगा अगर परदे के पीछे से पाठ को ट्रांसकोड करने की कोशिश करें। दूसरे शब्दों में, प्रॉक्सी को बाइट-फॉर-बाइट को संरक्षित करने का निर्देश दिया जाता है।
टेक्स्ट / xml एकमात्र सही उत्तर है। माइम प्रकार एक पंजीकरण आधारित प्रणाली है। Http://www.ana.org/assignments/media-types/media-types.xhtml पर IANA (इंटरनेट असाइन किए गए नंबर प्राधिकरण) द्वारा प्रबंधित एक आधिकारिक सूची है