फ़ाइल अपलोड करना वास्तव में कैसे काम करता है?


5

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

दूसरा सवाल, अपलोड करना डाउनलोडिंग की रिवर्स प्रक्रिया है। हालाँकि, एक बार जब हम किसी सर्वर पर फ़ाइल अपलोड करते हैं, तो हमें पोर्ट फ़ॉरवर्डिंग नहीं करना पड़ता है। दूसरी ओर, यदि डाउनलोडिंग निजी नेटवर्क से सर्वर के लिए अनुरोध भेज रहा है (बाहर तक पहुंच रहा है), इस माध्यम से, अपलोडिंग को निजी नेटवर्क को बाहर से एक्सेस करना चाहिए। इस तरह, पोर्ट फ़ॉरवर्डिंग का प्रदर्शन किया जाना चाहिए। लेकिन यहां तक ​​कि हम ऐसा नहीं करते हैं, स्थानांतरण काम कर रहा है। कैसे ?


2
1. आप फेसबुक पर एक फ़ाइल अपलोड करते हैं, फिर जब आप किसी ब्राउज़र में देखते हैं, तो आप फेसबुक से फ़ाइल का अनुरोध करते हैं, इसलिए हाँ: जब आप इसे किसी ब्राउज़र में देखते हैं, तो आप इसे डाउनलोड करते हैं। 2. जब आप एक फ़ाइल अपलोड करते हैं, तो आप उस सर्वर से संपर्क शुरू करते हैं जिसमें "खुले पोर्ट" होते हैं (आमतौर पर HTTP के मामले में पोर्ट 80)। जब आप फ़ाइल डाउनलोड करते हैं, तो आप अनुरोध भी शुरू करते हैं। एक दूरस्थ सर्वर एक निजी नेटवर्क (पोर्ट अग्रेषण के बिना) के अंदर एक कंप्यूटर के साथ एक कनेक्शन शुरू नहीं कर सकता है , लेकिन एक बार कनेक्शन स्थापित होने के बाद, रूटिंग सुनिश्चित करता है कि आप कनेक्शन की अवधि के लिए एक दूसरे से बात कर सकते हैं।
डैनियल एंडरसन

जवाबों:


4
  1. सही, अपने ब्राउज़र में एक तस्वीर प्रदर्शित करने के लिए, इसे पहले डाउनलोड करना होगा। यह स्वचालित रूप से आपके ब्राउज़र द्वारा किया जाता है। डाउनलोड की गई तस्वीर ब्राउज़र कैश में थोड़े समय के लिए एक ही फोटो के बार-बार डाउनलोड से बचने के लिए संग्रहीत की जाएगी।

  2. एक सर्वर के साथ संचार क्लाइंट से सर्वर तक (टीसीपी / आईपी) कनेक्शन शुरू करने से शुरू होता है (इसे हैंडशेक कहा जाता है )। इसका मतलब है कि आप (ग्राहक) किसी भी संचार से शुरू करते हैं, सर्वर से नहीं।

    जब एक कनेक्शन स्थापित किया गया है, तो दोनों पक्ष एक दूसरे से / को डेटा भेज और प्राप्त कर सकते हैं। इसलिए, आपको सर्वर से / को डेटा भेजने / प्राप्त करने के लिए किसी भी पोर्ट को अग्रेषित करने की आवश्यकता नहीं है, क्योंकि जैसा कि उल्लेख किया गया है, एक सर्वर किसी भी कनेक्शन को आरंभ नहीं करता है।

    एक (वेब) सर्वर से डेटा डाउनलोड करने के लिए , क्लाइंट (आप) सर्वर से कनेक्शन शुरू करता है और आमतौर पर एक HTTP जीईटी अनुरोध भेजता है जो सर्वर को विशिष्ट डेटा (जैसे एक वेब पेज) प्रदान करने के लिए कहता है।

    करने के लिए अपलोड एक सर्वर से डेटा, ग्राहक फिर से सर्वर से कनेक्शन प्रारंभ करता है और उसके बाद आम तौर पर एक भेजता HTTP POST जो डेटा अपलोड करने के लिए होता है अनुरोध। सर्वर जानता है कि इस तरह के अनुरोध को कैसे संभालना है और डेटा को स्टोर करना है।

टीसीपी / आईपी कनेक्शन स्थापना या विभिन्न HTTP अनुरोध विधियों के बारे में अधिक जानकारी के लिए, हाइपरटेक्स्ट ट्रांसफर प्रोटोकॉल और ट्रांसमिशन कंट्रोल प्रोटोकॉल के बारे में विकिपीडिया लेखों पर विचार करें ।


खैर, मेरा पहला सवाल ठीक है। लेकिन दूसरा नहीं लगता। क्या अपलोडिंग में पोर्ट फ़ॉरवर्डिंग शामिल है? यदि नहीं, तो क्या यह इसलिए है क्योंकि अपलोड करने की प्रक्रिया फिर से उस कंप्यूटर से शुरू होती है जिसने फ़ाइल अपलोड करने का अनुरोध किया था लेकिन सर्वर ने नहीं?
ओजगुन एस

@OzgunSunal हाँ, आपको पोर्ट फ़ॉरवर्डिंग की आवश्यकता नहीं है क्योंकि क्लाइंट ( आप ) अपलोड प्रक्रिया शुरू करता है (मेरे उत्तर के खंड 2 में पहला और दूसरा पैराग्राफ देखें)। इससे कोई फर्क नहीं पड़ता कि आप कोई फ़ाइल अपलोड करते हैं या डाउनलोड करते हैं, जो मायने रखता है जो प्रारंभिक कनेक्शन स्थापित करना शुरू करता है - यह आमतौर पर क्लाइंट द्वारा किया जाता है और सर्वर द्वारा नहीं।
9

ठीक है, यह स्पष्ट किया गया है। एक अंतिम प्रश्न, चैट विंडो, ट्विटर, फेसबुक के माध्यम से संदेश भेज रहा है या मेल के रूप में पोस्ट करने को भी 'अपलोडिंग' के रूप में वर्गीकृत किया गया है?
ओजगुण S

@OzgunSunal हां। अपलोड डेटा भेजने का सिर्फ एक पर्याय है ।
स्पीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.