2012-12-29 36 views
5

मैं एक सरल ajax किया है ...क्या xmlhttprequest अनुरोध संसाधित होने के बाद कनेक्शन को खुला रखता है?

अनुरोध और प्रतिक्रिया हेडर दोनों कनेक्शन होते हैं: Keep-Alive

मैं थोड़ा आंख मारना और देखा कि ग्राहक इस प्रकार सर्वर के साथ एक लगातार कनेक्शन बनाए रखें। यह समर्थन पाइपलाइनिंग, जहां ग्राहक प्रत्येक प्रतिक्रिया के इंतजार किए बिना एकाधिक अनुरोध भेज सकता है।

  1. कहाँ XMLHttpRequest वास्तव में सर्वर से कनेक्शन खोलने करता है:

    तो मैं कुछ सवाल हैं?

  2. क्या कई xmlhttprequest ऑब्जेक्ट अपने स्वयं के कनेक्ट खोलते हैं या इसे पाइपलाइनिंग का उपयोग करके उसी कनेक्शन पर भेजते हैं ...?
  3. मैं एक साथ अनुरोध को संभालना चाहता हूं .. क्या मैं अनुरोध (स्टोर पैरामीटर) कतारबद्ध कर सकता हूं .. और पहले से ही इसे संभालने के लिए फ़ंक्शन प्रदान करता हूं .. यानी फ़ंक्शन को दोबारा अनुरोध करने के लिए कॉल करना? या यह बिल्कुल अच्छा विचार नहीं है?
  4. कनेक्शन कब बंद है .. क्या चरण है?

अन्य जानकारी: मैं ajax.You के लिए jQuery या किसी अन्य Librarie उपयोग करने के लिए हालांकि प्रस्ताव कर सकते हैं नहीं करना चाहती। मैं देख सकता हूं कि वे कैसे काम करते हैं। मैं javascrip और php (codeigniter ढांचे) का उपयोग कर रहा हूँ। मैं एकाधिक अनुरोध (2) को संभालने में सक्षम होना चाहता हूं .. और कतार अनुरोध है जब सीमा तक पहुंच गई है।

अग्रिम धन्यवाद :)

+0

क्या आप समझते हैं कि 'टीसीपी कनेक्शन' का उपयोग करके http अनुरोध पूरा किए जाते हैं? http एक फैक्स की तरह टीसीपी का उपयोग करता है एक फोन लाइन का उपयोग करता है।'टीसीपी कनेक्शन 'जिसे' कनेक्शन: Keep-Alive 'में संदर्भित किया जा रहा है। आप वास्तव में नहीं जानते कि ब्राउज़र कब या कहां एक टीसीपी कनेक्शन बनाने का फैसला करता है, लेकिन आमतौर पर ब्राउज़र सर्वर के लिए एकाधिक एक साथ टीसीपी कनेक्शन बनाएंगे यदि यह फायदेमंद होगा। एचटीएमएल, छवियों, सीएसएस, AJAX अनुरोध आदि के लिए अनुरोध ... सभी एक ही पंक्तियों पर जाते हैं (हालांकि फिर से, ब्राउज़र आम तौर पर कई लाइनें खोल देगा)। – goat

+0

उत्तर के लिए धन्यवाद। हाँ मुझे पता है कि यह टीसीपी कनेक्शन पर होता है। कनेक्शन के बारे में स्पष्टीकरण के लिए धन्यवाद: Keep-Alive। मैंने पढ़ा है कि मानक 2 एक साथ कनेक्शन है, हालांकि कुछ ब्राउज़र अधिक समर्थन करते हैं। –

उत्तर

3

XMLHttpRequest एक वस्तु जो आप अनुरोध और पृष्ठ को ताज़ा करने के बिना सर्वर से डेटा प्राप्त करने जाने है। यह HTTP या HTTPS अनुरोधों का उपयोग करता है। यह मूल रूप से एक HTML पृष्ठ का अनुरोध और प्राप्त करने जैसा ही है। आप उन्हें तुल्यकालिक या असीमित खोल सकते हैं।

XMLHttpRequest.open(Method, URL, Asynchronous, UserName, Password) 

यहाँ, Method उपयोग करने के लिए HTTP अनुरोध विधि है। http://www.w3.org/TR/XMLHttpRequest/#the-open()-method

मैं एक साथ अनुरोध को पूरा करना चाहते हैं .. मैं अनुरोध (दुकान पैरामीटर) क़तार कर सकते हैं देखें ..और में इसे संभाल करने के लिए समारोह प्रदान onreadystate .. अर्थात समारोह है कि अनुरोध रिकर्सिवली बनाने बुला? या यह बिल्कुल अच्छा विचार नहीं है?

मैं XMLHttpRequests की एक सरणी बनाने के लिए और डेटा को संभालने और सरणी onreadystatechange से XMLHttpRequest को दूर था। ध्यान रखें कि आपको एसिंक्रोनस प्रतिक्रियाओं का मिश्रित क्रम प्राप्त होगा या आपको कोई प्रतिक्रिया नहीं मिल सकती है।

कनेक्शन कब बंद है .. क्या चरण है?

डेटा प्राप्त होने के बाद यह बंद हो गया है। ध्यान दें कि keep-alive सत्र को जीवित रखने के बारे में है, कनेक्शन नहीं।

+1

मैं डाउनवॉट क्यों कर रहा हूं? – Ertug

+0

मेरे द्वारा नहीं। उत्तर के लिए धन्यवाद। मैं इस पर और अधिक जांच करने जा रहा हूँ। –

+0

एलन, आपका स्वागत है। मैं सिर्फ उत्सुक हूं क्योंकि अगर मेरे उत्तर में कुछ गड़बड़ है, तो मैं इसके साथ किसी को गुमराह नहीं करना चाहता हूं और मैं अपनी गलती से सीखना चाहता हूं। – Ertug