2009-08-06 16 views
5

शरीर को बताएं कि मैं खंडित एन्कोडिंग के माध्यम से भेजने की कोशिश कर रहा हूं "\ r \ n", मैं खंड खंड के रूप में व्याख्या करने से कैसे बचूं?HTTP चंकित स्थानांतरण एन्कोडिंग: आप " r n" कैसे भेजते हैं?

उदा। "अपने सभी आधार \ r \ n हमें के हैं कर रहे हैं"

http://en.wikipedia.org/wiki/Chunked_transfer_encoding

उत्तर

15

"\ r \ n" वास्तव में एक हिस्सा सीमांकक है। खंड आकार उस खंड के डेटा द्वारा बनाए गए बाइट्स की संख्या निर्दिष्ट करता है। क्लाइंट को तब आपके संदेश में एम्बेड किए गए "\ r \ n" को ठीक से पढ़ना चाहिए।

+0

समझ में आता है, धन्यवाद! –

+0

पुराना विषय लेकिन यहां मेरा जवाब है जहां मैं एक अनुरोध हैडर + चंकड बॉडी + आफ्टरहेडर उदाहरण देता हूं। यह स्पष्ट करना चाहिए कि न्यूलाइन कैसे काम करती है। http://stackoverflow.com/a/16460234/185565 – Whome

5

डिज़ाइन द्वारा, यह कोई समस्या नहीं है। प्रत्येक खंड अपने डेटा ब्लॉक के बाइट आकार को निर्दिष्ट करता है। प्रत्येक डेटा ब्लॉक की सामग्री मनमाने ढंग से होती है, और इसे प्राप्त किया जाना चाहिए, इसलिए इसमें लाइन ब्रेक शामिल हो सकते हैं। यदि ग्राहक प्रत्येक खंड को सही ढंग से पढ़ रहा है (एक रेखा पढ़ें और बाइट आकार को पार्स करें, फिर बाइट्स की निर्दिष्ट संख्या पढ़ें, फिर लाइन ब्रेक पढ़ें), इससे कोई फर्क नहीं पड़ता कि डेटा में लाइन ब्रेक हैं या नहीं ग्राहक लाइन ब्रेक पर नहीं, बाइट आकार के आधार पर डेटा पढ़ रहा है।

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