2013-05-24 9 views
5

मैं वास्तव में एक अजीब समस्या में भाग रहा हूं जहां एक ब्राउज़र के HTTP अनुरोध को रीस्टलेट सर्वर द्वारा उपयोग किए गए सरल कनेक्टर द्वारा त्याग दिया जाता है।सरल कनेक्टर ड्रॉप अनुरोध के साथ पुन: प्रारंभ करें?

सर्वर सेटअप: पचाने के लिए प्रमाणीकरण

  • Restlet 2.1.2 सर्वर
  • Restlet-सरल विस्तार
  • Restlet-क्रिप्टो विस्तार (सरल 4.1.21 के साथ आता है)

सर्वर ब्राउज़र पर वेब पेजों की सेवा कर रहा है और अपडेट लाने के लिए जावास्क्रिप्ट के XMLHttpRequest का उपयोग करता है। इनमें से कुछ XMLHttpRequests हालांकि पूरा नहीं होते हैं। क्रोम के लिए जावास्क्रिप्ट डीबगर इनके लिए "असफल" स्थिति दिखाता है; फ़ायरफ़ॉक्स का डीबगर एक HTTP स्थिति कोड और रिकॉर्ड की गई प्रतिक्रिया के बिना पूरा होने का समय लॉग करता है। एक पैकेट स्निफ़ेर इंगित करता है कि समस्याग्रस्त अनुरोध वास्तव में सर्वर को भेजते हैं, लेकिन सर्वर कभी जवाब नहीं देता है। डिबगिंग से पता चलता है कि ये अनुरोध कभी भी हमारे सर्वर कोड तक नहीं पहुंचते हैं।

मैंने फ़ायरफ़ॉक्स, क्रोम के साथ-साथ आईई के साथ समस्या की पुष्टि की है। इस समस्या में सभी तीन ब्राउज़रों (नवीनतम संस्करण) चलाते हैं। साथ ही, प्रत्येक ब्राउज़र बार-बार और पुन: उत्पन्न करने के लिए समान अनुरोधों के साथ समस्याएं उत्पन्न करता है। हालांकि अनुरोधों का यह सेट तीन ब्राउज़रों के बीच अलग है।

क्या वास्तव में अजीब बात यह है कि समस्या है जब सर्वर मशीन नाम (एक लैन पर परीक्षण रन) का उपयोग करते हुए, लेकिन नहीं जब मशीन का IP-पते का उपयोग कर सतह करता है। डाइजेस्ट से बेसिक प्रमाणीकरण में वापस स्विच करने से समस्या दूर हो जाती है, जैसा कि जेटी के साथ सरल कनेक्टर को बदलता है।

मैं अब जेट्टी के लिए स्विच करने के लिए इच्छुक हूँ, लेकिन मैं अभी भी पता करने के लिए क्या हो रहा है करना चाहते हैं। क्या किसी ने पहले ऐसा व्यवहार देखा है, या इस बारे में कोई विचार है कि यहां क्या गलत हो रहा है?

+0

आपको प्रमाणीकरण के साथ रीसेट को कॉन्फ़िगर करने के लिए अपना कोड पोस्ट करना चाहिए। – gma

उत्तर

0

हमने हाल ही में Restlet है, जो भी कुछ अनुरोध पूरा नहीं किया जा रहा है के परिणामस्वरूप के साथ एक समान समस्या हुई है। यह मुद्दा रीस्टलेट के भीतर एक गैर-सिंक्रनाइज़ नक्शा पहुंच था, जिसे पहले ही तय कर दिया गया है (https://github.com/restlet/restlet-framework-java/issues/753)।

आप एक या एक से अधिक थ्रेड उच्च CPU यातायात के कारण देखते हैं, तो यह संकेत मिल सकता है कि आप इस समस्या से प्रभावित कर रहे हैं।

अपने XMLHttpRequests समानांतर में में आते हैं, तो आप प्रभावित हो सकता है।

+0

उस विशेष मुद्दे के परिणामस्वरूप यादृच्छिक विफलताओं का परिणाम होगा। मेरे मामले में, हालांकि, अनदेखा किए गए अनुरोधों का सेट हमेशा पुन: उत्पन्न होता है। हालांकि यह सेट ब्राउज़र द्वारा भिन्न होता है। तो फ़ायरफ़ॉक्स अनुरोधों के एक सेट, आईई को दूसरे सेट और क्रोम को एक और सेट पर प्रतिक्रियाओं को याद करता है। –

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