बाइट सरणी के रूप में वेब सेवा पर फ़ाइल भेजते समय कितना अतिरिक्त ओवरहेड उत्पन्न होता है?

यह प्रश्न और उत्तर दिखाता है कि एक xml वेब के माध्यम से एक बाइट सरणी के रूप में फ़ाइल कैसे भेजना है सर्विस। फ़ाइल स्थानांतरण के लिए इस विधि का उपयोग करके कितना ओवरहेड उत्पन्न होता है? मुझे लगता है कि डेटा इस तरह कुछ दिखता है:

<?xml version="1.0" encoding="UTF-8" ?>

    16
    28
    127
    ...

यदि यह प्रारूप सही है, तो बाइट्स को पहले यूटीएफ -8 अक्षरों में परिवर्तित किया जाना चाहिए। इनमें से प्रत्येक अक्षर 8 बाइट आवंटित करता है। क्या आधार 10, हेक्स, या बाइनरी वर्णों में संग्रहित बाइट्स हैं? xml डेटा और वर्ण एन्कोडिंग के कारण फ़ाइल कितनी बड़ी दिखाई दे रही है? संपीड़न वेब सेवाओं में बनाया गया है?

0
ro fr bn

5 उत्तर

आम तौर पर एक बाइट सरणी को base64 एन्कोडेड स्ट्रिंग के रूप में भेजा जाता है, टैग में व्यक्तिगत बाइट्स के रूप में नहीं।

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

base64 एन्कोडेड संस्करण मूल सामग्री के आकार के 137% के बारे में है।

0
जोड़ा

मुझे सभी विवरणों (संपीड़न, एन्कोडिंग इत्यादि) के बारे में निश्चित नहीं है, लेकिन मैं आमतौर पर केवल WireShark का उपयोग करता हूं नेटवर्क यातायात का विश्लेषण करें (विभिन्न तरीकों का प्रयास करते समय) जो आपको यह देखने की अनुमति देता है कि यह वास्तव में कैसे भेजा जाता है।

उदाहरण के लिए, यदि यह संपीड़ित है तो पैकेट के डेटा ब्लॉक को सादे पाठ के रूप में पठनीय नहीं किया जाना चाहिए ... हालांकि यदि यह असम्पीडित है, तो आप केवल सादे पुराने एक्सएमएल पाठ देखेंगे ... जैसे आप HTTP यातायात, या यहां तक ​​कि एफ़टीपी के साथ भी देखेंगे कुछ मामलों में।

0
जोड़ा

केविन ने जो कहा, उसे प्रतिबिंबित करने के लिए, नेट वेब सेवाओं में यदि आपके पास बाइट सरणी है तो इसे डिफ़ॉल्ट रूप से बेस 64 एन्कोडेड स्ट्रिंग के रूप में भेजा जाता है। आप पहले से बाइट सरणी के एन्कोडिंग को भी निर्दिष्ट कर सकते हैं।

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

0
जोड़ा

मैं कुछ आंतरिक कॉर्पोरेट webservices के लिए इस विधि का उपयोग करता हूं, और मैंने किसी भी बड़े धीमी गति को नहीं देखा है (लेकिन इसका मतलब यह नहीं है कि यह वहां नहीं है)।

डेटा के आकार को मापने के लिए आप शायद कई नेटवर्क ट्रैफिक विश्लेषण टूल का उपयोग कर सकते हैं और उस पर आधारित निर्णय कॉल कर सकते हैं।

0
जोड़ा

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

0
जोड़ा