ईमेल बड़ा क्यों है?
क्योंकि डेटा एनकोडेड है base64
जिसमें चार प्रिंट करने योग्य ASCII वर्णों के समूह के रूप में अधिकतम तीन बाइट्स के समूहों को एन्कोड किया गया है। आमतौर पर, मुद्रण योग्य वर्णों के ये समूह फिर लाइनों में विभाजित हो जाते हैं।
परिणाम यह है कि एन्कोड किया गया डेटा मूल डेटा के आकार का सिर्फ 1 the गुना अधिक है।
Base64 का उपयोग क्यों किया जाता है?
ईमेल का एक लंबा इतिहास है और मूल रूप से पाठ को ले जाने के लिए डिज़ाइन किया गया था। केवल बाइट मान एएससीआईआई प्रिंट करने योग्य वर्णों का प्रतिनिधित्व करते हैं जो ग्रह पर विभिन्न प्रकार की ईमेल प्रणालियों से गुजर सकते हैं।
इसलिए MIME ने अन्य डेटा को ASCII टेक्स्ट के रूप में एन्कोडिंग करने के लिए दो योजनाओं को विभाजित किया - "उद्धृत-प्रिंट करने योग्य" कुछ अन्य बिट्स के साथ ज्यादातर ASCII टेक्स्ट के लिए डिज़ाइन किया गया, और मनमाने ढंग से बाइनरी डेटा के लिए "BASE64"।
इन प्रतिबंधों को आजमाने और हटाने के लिए एसएमटीपी प्रोटोकॉल के विस्तार हुए हैं। सबसे पहले, 1994 में 8BITMIME, जिसने उच्च ऑक्टेट मूल्यों की अनुमति दी लेकिन दुर्भाग्य से लाइन की लंबाई और लाइन एंडिंग से संबंधित सीमाएं नहीं हटाईं, इसलिए यह मनमाना बाइनरी डेटा के लिए उपयुक्त नहीं था; और फिर 1995 में BINARYMIME, जिसने मनमाने ढंग से बाइनरी डेटा वाले संदेशों के हस्तांतरण की अनुमति दी।
हालांकि, इन मानकों को व्यापक रूप से अपनाते नहीं देखा गया है। एक समस्या यह है कि क्या होता है यदि मेल श्रृंखला में एक हॉप उनका समर्थन करता है लेकिन अगला हॉप नहीं करता है? मेल सर्वर तब के रूप में मेल नहीं भेज सकता है, इसे या तो इसे अस्वीकार्य माना जाना चाहिए और इसे उछाल देना चाहिए (जो उपयोगकर्ताओं के लिए स्वीकार्य होने की संभावना नहीं है), या इसे परिवर्तित करें (जिसे मेल सर्वर में महत्वपूर्ण अतिरिक्त कोड की आवश्यकता है) । मल्टीपार्ट प्रकारों पर सामग्री स्थानांतरण एन्कोडिंग का उपयोग नहीं करने के संबंध में MIME नियमों द्वारा रूपांतरण को विशेष रूप से दर्दनाक बनाया गया है।