2011-03-15 13 views
6

मैं एक वेबसाइट के लिए एक आरएसएस फ़ीड लागू कर रहा हूं और मुझे फ़ीड के लिए एक्सएमएल फ़ाइल के प्रारूप/आकार/सामग्री के बारे में कुछ चीजें समझ में नहीं आती हैं।आरएसएस फ़ीड एक्सएमएल फ़ाइल के लिए कितना बड़ा बड़ा है?

मैं पिछले डेटा के साथ साइट शुरू कर रहा हूं, जो 1 999 तक चलता है (अब किसी भी समय कोई फ़ीड नहीं था), और प्रति वर्ष केवल कुछ सौ आइटम जोड़े जाएंगे।

क्या संग्रह के लिए कुछ प्रोटोकॉल है, या क्या मैं सिर्फ एक फ़ाइल रख सकता हूं और इसमें शामिल होना जारी रख सकता हूं? मुझे लगता है कि यह अक्षम होगा, क्योंकि एग्रीगेटर्स को पूरी चीज डाउनलोड करना है (मुझे लगता है)।

तो, इसके लिए सामान्य परंपरा क्या है? इसे पिछले महीने तक सीमित करें? 900 से अधिक वस्तुओं वाली वर्तमान फ़ाइल 1.5 एमबी है, और मुझे उम्मीद है कि 1 साल का मूल्य लगभग 1/10 वां होगा जो आकार या उससे कम में होगा।

इस पर कोई संकेतक किस सिद्धांत का उपयोग करना है और इसे कैसे कार्यान्वित करना है? मैं PHP का उपयोग कर रहा हूं, लेकिन मेरा डेटा काफी जटिल है, मैंने फ़ाइल लिखने के लिए अपनी खुद की स्क्रिप्ट लॉन्च की है (और यह ठीक से मान्य है), इसलिए मैं एक डिब्बाबंद समाधान का उपयोग नहीं कर सकता - मुझे यह समझने की ज़रूरत है कि मुझे अपने आप में क्या कार्यान्वित करना है स्क्रिप्ट।

+1

आपने इसका उत्तर देने के लिए क्या जादू किया? यह 3 महीने पहले मेरे लिए बहुत उपयोगी था! –

+0

मैं एक सिंडिकेशन गीक होता था, और सवाल प्रकृति में तकनीकी की तुलना में अधिक वास्तुशिल्प था। एकमात्र चीज जिसे मैंने उल्लेख करने में असफल रहा है, यह सुनिश्चित है कि http://validator.w3.org/feed/ के माध्यम से अपनी अंतिम फीड को चलाने के लिए यह सुनिश्चित होगा कि यह आपको और आपके उपभोक्ताओं को बहुत दिल का दर्द बचाएगा! – Oppositional

+0

@ डेविड मैंने आपके व्याकरण को थोड़ा सा संपादित किया ताकि उपयोगकर्ताओं को अपमानित न किया जा सके और जब आप प्रश्न को संपादित करते हैं तो प्रश्न उच्च रैंकिंग और अधिक दृश्यता –

उत्तर

5

सिंडिकेशन फीड के अधिकांश उपभोक्ताओं की अपेक्षा है कि फ़ीड में अपेक्षाकृत हाल की सामग्री होगी, जिसमें फ़ीड की पूर्व प्रकाशित सामग्री 'गिरने' थी। फ़ीड में आप कितनी सामग्री बनाए रखते हैं, आमतौर पर आपके द्वारा प्रकाशित की जा रही सामग्री के प्रकार पर आधारित होती है, लेकिन आपकी फ़ीड के आकार बढ़ने के कारण यह फीड क्लाइंट को आपकी जानकारी को पुनर्प्राप्त करने और पार्स करने की क्षमता को प्रभावित कर सकता है।

  1. लागू:

    आप वास्तव में एक ऐतिहासिक फ़ीड जो लगातार में जोड़ा जाता है प्रकाशित करना चाहते हैं, लेकिन सामग्री आइटम निकाले कभी नहीं है, तो आप निम्नलिखित विकल्पों पर विचार करने के लिए (अपने उपभोक्ताओं की जरूरतों के आधार पर) चाहते हो सकता है Feed Paging and Archiving, per RFC 5005 Section 3, क्योंकि पेज की फीड उपयोगी हो सकती है जब प्रविष्टियों की संख्या बहुत बड़ी, अनंत, या अनिश्चित है। ग्राहक फ़ीड के माध्यम से "पृष्ठ" कर सकते हैं, केवल आवश्यकतानुसार फ़ीड की प्रविष्टियों का सबसेट एक्सेस कर सकते हैं।

  2. तर्कसंगत रूप से अपनी सामग्री को कई फ़ीड्स में विभाजित करें, और अपनी वेबसाइट पर फ़ीड पर auto-discovery प्रदान करें।
  3. एक आरईएसटी आधारित सेवा इंटरफ़ेस लागू करें जो उपभोक्ताओं को एटम या आरएसएस स्वरूपित फ़ीड के रूप में आपकी सामग्री को पुनर्प्राप्त करने और फ़िल्टर करने की अनुमति देता है, कुछ उचित डिफ़ॉल्ट का उपयोग करके डिफ़ॉल्ट प्रतिनिधित्व के साथ।

विकल्प 1 एक उचित दृष्टिकोण आप फ़ीड ग्राहकों कि आपकी फ़ीड लेने वाली हो जाएगा, के रूप में सभी वेब फ़ीड ग्राहकों पृष्ठांकन समर्थन के प्रकार पता ही अगर है।

विकल्प 2 सबसे आम, सार्वजनिक संपर्क वाले वेब साइटों पर देखा अधिकांश ब्राउज़र और ग्राहकों का समर्थन के रूप में स्वत: खोज है, और आप दोनों एक पूर्ण ऐतिहासिक फ़ीड और एक छोटे और हाल ही में सामग्री फ़ीड (या में खंड प्रदान कर सकते हैं वे तरीके जो आपकी सामग्री के लिए समझ में आते हैं)।

विकल्प 3 संभावित रूप से आपको पहले दो विकल्पों के लाभ प्रदान करने की अनुमति देता है, साथ ही आप अपनी सामग्री के कई फ़ीड प्रारूप और समृद्ध फ़िल्टरिंग भी प्रदान कर सकते हैं। यह फ़ीड सामग्री का पर्दाफाश करने का एक बहुत ही शक्तिशाली तरीका है, लेकिन आमतौर पर केवल तभी प्रयास किया जाता है जब आपके उपभोक्ता फ़ीड सामग्री को तैयार करने की इच्छा को इंगित करते हैं, जिसे वे उपभोग करना चाहते हैं।

जबकि अधिकांश समृद्ध फ़ीड क्लाइंट फ़ीड सामग्री को असीमित रूप से पुनर्प्राप्त करेंगे, क्लाइंट जो आपकी फ़ीड के लिए सिंक्रोनस (और संभावित रूप से लगातार) अनुरोध करते हैं, आपके फ़ीड के आकार के रूप में समय-समय पर समस्याएं अनुभव कर सकते हैं।

चाहे आप किस दिशा में जाएं, अपने फ़ीड पर Conditional GET लागू करने पर विचार करें; और सर्वोत्तम सिंडिकेटेड रणनीति को चुनने के लिए अपनी सिंडिकेटेड सामग्री के संभावित उपभोक्ताओं को समझें। this answer देखें जब आप विचार करते हैं कि आप कौन सी सिंडिकेशन फ़ीड प्रारूप प्रदान करना चाहते हैं।

+0

मैं वास्तव में फ़ीड को एक स्क्रिप्ट के रूप में कार्यान्वित करने के लिए समाप्त हुआ, इसलिए मैं कई उप-लाभ प्रदान कर सकता था। मैंने SQL पर एक LIMIT भी रखा जो डेटा पुनर्प्राप्त करता है। अंततः मुझे एहसास हुआ कि पूरी फ़ीड केवल शुरुआत में मेरे लिए महत्वपूर्ण है, लेकिन संभवतः इससे संबंधित किसी भी व्यक्ति से कोई फर्क नहीं पड़ता। उत्कृष्ट उत्तर के लिए धन्यवाद। मैंने आगे की जांच के लिए अपने कई उद्धरणों को दायर किया है, खासतौर पर आखिरी अपडेटेड हेडर प्रदान करने के सवाल पर। –

0

एग्रीगेटर बार-बार फ़ाइल डाउनलोड करेंगे, इसलिए आकार सीमित करना महत्वपूर्ण है। मेरे पास फ़ीड में 10 आइटम होते हैं, या एक सप्ताह पुराना सबसे पुराना आइटम होता है, जो भी अधिक प्रविष्टियां देता है, जब तक कि एक जीईटी पैरामीटर के साथ ओवरराइड न हो। बेशक यह आपके ग्राहकों से वास्तविक उपयोग के साथ-साथ फ़ीड में गतिविधि के अनुसार अलग-अलग होगा।

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