में "कनेक्शन: Keep-Alive" मैं एक सिल्वरलाइट एप्लिकेशन से एक HTTP पृष्ठ (यानी प्रत्येक HTTP अनुरोध के लिए एक नया टीसीपी कनेक्शन बनाये बिना) एक HTTP सर्वर से एक HTTP सतत कनेक्शन स्थापित करने का प्रयास कर रहा हूं।सर्वर प्रतिक्रिया
इस अंत में, मुझे "कनेक्शन" शीर्षलेख पर "कनेक्शन" हेडर सेट के साथ अपने HTTP प्रतिक्रियाएं भेजने के लिए वेबसर्वर की आवश्यकता है। क्लाइंट-साइड, ऐसा कोई प्रतीत नहीं होता है क्योंकि सिल्वरलाइट द्वारा प्रदान किया गया नेटवर्क एपीआई मूल रूप से ब्राउज़र नेटवर्क कैपेबिलियों का एक रैपर है, जो मैंने पढ़ा है: इसलिए यदि ब्राउज़र HTTP 1.1 और कनेक्शन का समर्थन करता है: Keep-Alive डिफ़ॉल्ट रूप से इसके अनुरोधों के लिए, यह ठीक है। सामग्री-लंबाई भी अच्छी तरह परिभाषित है, ताकि सर्वर जानता है कि को प्रतिक्रिया भेजनी है। हालांकि, PHP अनुरोध के लिए सर्वर प्रतिक्रिया व्यवस्थित रूप से "कनेक्शन:" को "बंद" करने के लिए सेट करता है, इस प्रकार कनेक्शन को समाप्त करता है और लगातार कनेक्शन को रोकता है।
मैंने इस समस्या के आसपास काम करने के लिए कुछ चीजों की कोशिश की है: अलग-अलग तरीके (जीईटी और पोस्ट), स्पष्ट रूप से मेरी स्क्रिप्ट की शुरुआत में निम्न PHP कोड के साथ प्रतिक्रिया के लिए "कनेक्शन: रखें-जिंदा" देना:
header("Connection: Keep-alive");
उत्तरार्द्ध प्रतिक्रिया के लिए अपेक्षित शीर्षलेख जोड़ता है, जो अच्छा है, लेकिन एक अतिरिक्त "कनेक्शन: क्लोज़" अभी भी प्रतिक्रिया शीर्षकों में जोड़ा गया है।
क्या यह PHP या अपाचे की एक विशेषता है जो "बंद" (कुछ सुरक्षा या प्रदर्शन उद्देश्य के लिए, मैं अनुमान लगा रहा हूं) लागू करता हूं या क्या मुझे बस कुछ याद आ रही है?
अग्रिम धन्यवाद।
पीएस : पैकेट को सूँघकर, मैंने देखा है कि कई वेबसाइटें "Keep-live" का उपयोग नहीं करती हैं और टीसीपी कनेक्शन पुनः स्थापित किया जाता है। HTTP 1.1 के तहत डिफ़ॉल्ट और पसंदीदा व्यवहार को Keepalive नहीं है?
कि शायद अपाचे, पीएचपी नहीं है - मेरी जानकारी के अनुसार, पीएचपी कि पर कोई नियंत्रण नहीं है। आप एक ही कनेक्शन के माध्यम से स्थिर फ़ाइल का अनुरोध करने का प्रयास करके सत्यापित कर सकते हैं। अपाचे निर्देश: http://httpd.apache.org/docs/2.2/mod/core.html#keepalive –