फ़ाइलों को स्थानांतरित करने के लिए HTTP और FTP की तुलना करना


125

इंटरनेट पर फ़ाइलों को स्थानांतरित करने के लिए एक के बाद एक फायदे (या सीमाएं) क्या हैं?

(मैं दोनों प्रोटोकॉल के सुरक्षित रूपों से अवगत हूं। मैं प्रदर्शन, विश्वसनीयता, फ़ाइल प्रबंधन सीमाओं आदि के संदर्भ में व्यक्तिगत अनुभवों के माध्यम से तुलना सुनना चाहता हूं)

जवाबों:


99

यहां दोनों की तुलना का प्रदर्शन है । HTTP छोटी फ़ाइलों के अनुरोध-प्रतिक्रिया के लिए अधिक उत्तरदायी है, लेकिन अगर ठीक से ट्यून की जाए तो FTP बड़ी फ़ाइलों के लिए बेहतर हो सकता है। एफ़टीपी को आम तौर पर तेज़ माना जाता था। FTP को एक नियंत्रण चैनल की आवश्यकता होती है और टीसीपी राज्य के अलावा राज्य को बनाए रखा जाता है लेकिन HTTP नहीं करता है। एफ़टीपी में डेटा स्थानांतरित होने से पहले 6 पैकेट स्थानान्तरण होते हैं लेकिन HTTP में केवल 4।

मुझे लगता है कि ठीक से ट्यून की गई टीसीपी लेयर का अनुप्रयोग लेयर प्रोटोकॉल के बीच अंतर की तुलना में गति पर अधिक प्रभाव पड़ेगा। सन ब्लूप्रिंट अंडरस्टैंडिंग ट्यूनिंग टीसीपी में विवरण है।

प्रत्येक प्रोटोकॉल की व्यक्तिगत विशेषताओं की एक और अच्छी तुलना Heres ।


22
+1 अच्छा जवाब। मुझे लगता है कि एफ़टीपी का दिन हो गया है और चला गया है, इसकी कोई प्रासंगिकता नहीं है। यह भी लागू करने के लिए एक निरपेक्ष सुअर है।
स्कैफ़मैन

7
"छोटा" या "बड़ी" फ़ाइलों का क्या आकार है?
ऊर्बिकोज़

प्रदर्शन की तुलना पी HTTP, टी / टीसीपी, और एस TCB लागू करने से उम्मीद लाभ के एक विश्लेषण के लिए लिंक अंक। एफ़टीपी का उल्लेख नहीं है। साथ ही, ठीक से ट्यून्ड लिंक टूट गया है।
1

@ क्या आपने प्रदर्शन तुलना लिंक पढ़ा है? एफ़टीपी के १२ संदर्भ हैं और पहले खंड में कहा गया है "HTTP प्रोटोकॉल मूल रूप से एफ़टीपी की अक्षमताओं को कम करने के लिए विकसित किया गया था ..." और फिर समझाने के लिए आगे बढ़ता है। मैंने "अंडरस्टैंडिंग ट्यूनिंग टीसीपी" लिंक को भी अपडेट किया ... ऐसा लग रहा है कि ओरेकल ने सभी पुराने सन ब्लूप्रिंट्स व्हाइटपर को फेंक दिया है।
जॉन एलिनवुड

2
16 अगस्त, 1996 ... वास्तव में? यहां तक ​​कि आपके 2009 के उत्तर में भी आप इस मामले की वर्तमान स्थिति के प्रतिनिधि होने की उम्मीद नहीं कर सकते। -1
user541686

29

मैंने केवल एफ़टीपी और एचटीटीपी दोनों पर एक फ़ाइल स्थानांतरण को बेंचमार्क किया:

  • दो बहुत अच्छे सर्वर कनेक्शन
  • उसी 1GB .zip फ़ाइल का उपयोग करना
  • समान नेटवर्क शर्तों के तहत (एक के बाद एक परीक्षण किए गए)

परिणाम:

  • एफ़टीपी का उपयोग: 6 मिनट
  • HTTP का उपयोग: 4 मिनट
  • एक समवर्ती http डाउनलोडर सॉफ़्टवेयर ( fdm): 1 मिनट का उपयोग करना

तो, मूल रूप से "वास्तविक जीवन" स्थिति के तहत:

1) एक बड़ी फ़ाइल डाउनलोड करते समय HTTP एफ़टीपी से अधिक तेज़ है।

2) HTTP समानांतर चंक डाउनलोड का उपयोग कर सकता है जो नेटवर्क स्थितियों के आधार पर FTP की तुलना में 6 गुना तेज बनाता है।


18
यह बहुत ही महत्वपूर्ण लगता है।
स्पैनिबस

5
@anecdotal उन्होंने संख्या (शोध से तथ्य) प्रदान की जो कि अभी तक किसी भी अन्य उत्तर का उपाख्यान कम है।
user1133275

क्या समय प्रजनन योग्य है, कम से कम लगभग?
मास्टरएक्सिलो

कुछ दिनों पहले मैंने http के साथ 90MB फ़ाइलों को डाउनलोड करने की कोशिश की, 2MB पर विफल नेटवर्क। लेकिन एफ़टीपी (एक ही सर्वर, एक ही फ़ाइल, मोबाइल हॉटस्पॉट के माध्यम से एक ही नेटवर्क) के साथ, डाउनलोड सफलता। मुझे पता नहीं क्यों।
रहमत इहसन

1
ओवरहेड कम होने के कारण एकल फ़ाइलों के लिए ftp तेज़ है। यदि आपके परीक्षण को एक अलग उत्तर मिला है, तो किसी अन्य क्लाइंट (या कम संभावना, एक अन्य सर्वर) का प्रयास करें। http अधिकतम बिट दर से अधिक तेजी से डाउनलोड नहीं कर सकता है और किसी भी समानांतर विकल्प का उपयोग करने की कोशिश करता है जो प्रोटोकॉल ओवरहेड को पेश करेगा। बनाम मल्टी-फाइल्स को बिना प्रोटोकॉल ओवरहेड के एफ़टीपी पर लाइन स्पीड पर बैक-टू-बैक ट्रांसफर किया जा सकता है। एफ़टीपी का समानांतर विकल्प कई टीसीपी कनेक्शन का उपयोग करता है जो आमतौर पर एकल-बिंदु कनेक्शन (उदाहरण के लिए। SMB3.1 vSMB2.1, 3.x मल्टी-कनेक्ट का उपयोग कर सकते हैं) का उपयोग करते हैं।
अस्तरा

27

कई फ़ायरवॉल आउटबाउंड कनेक्शन को छोड़ देते हैं जो 80 या 443 (http & https) पोर्ट के लिए नहीं हैं; कुछ भी उन बंदरगाहों से कनेक्शन छोड़ देते हैं जो HTTP (S) नहीं हैं। FTP को सक्रिय / PASV मोड की बात करने या न करने की अनुमति दी जा सकती है।

इसके अलावा, HTTP / 1.1 बहुत बेहतर आंशिक अनुरोधों के लिए अनुमति देता है ("केवल बाइट 123456 से फ़ाइल के अंत तक भेजें"), सशर्त अनुरोध और कैशिंग ("केवल अगर सामग्री बदली गई / यदि अंतिम-संशोधित-दिनांक बदली गई है") और सामग्री संपीड़न (gzip)।

एक प्रॉक्सी के माध्यम से HTTP का उपयोग करना बहुत आसान है।

मेरे वास्तविक सबूत से, HTTP को गिरा / धीमा / परतदार कनेक्शन के साथ काम करना आसान है; उदाहरण के लिए (पुनः) हस्तांतरण आरंभ करने से पहले (पुनः) सत्र की आवश्यकता नहीं है।

OTOH, HTTP स्टेटलेस है, इसलिए आपको प्रमाणीकरण करना होगा और "जो तब किया जब" स्वयं का एक निशान बनाना होगा।

गति में एकमात्र अंतर जो मैंने देखा है, बहुत सारी छोटी फ़ाइलों को स्थानांतरित कर रहा है: पाइपलाइनिंग के साथ HTTP तेज है (उच्च-विलंबता नेटवर्क पर राउंड-ट्रिप, esp पर ध्यान देने योग्य) को कम करता है।

ध्यान दें कि HTTP / 2 और भी अधिक अनुकूलन प्रदान करता है, जबकि FTP प्रोटोकॉल ने दशकों तक कोई अपडेट नहीं देखा है (और यहां तक ​​कि एफ़टीपी के एक्सटेंशन को उपयोगकर्ताओं द्वारा महत्वहीन है)। इसलिए, जब तक आप टाइम मशीन के जरिए फाइल ट्रांसफर नहीं कर रहे हैं, तब तक लगता है कि HTTP जीत गई है।

(विशिष्ट रूप से: ऐसे प्रोटोकॉल होते हैं जो फ़ाइल स्थानांतरण के लिए बेहतर होते हैं, जैसे कि rsyncया बिटटोरेंट, लेकिन उनमें उतना माइंडशेयर नहीं होता है, जबकि HTTP एवरीवेयर ™ है)


13

एक विचार यह है कि एफ़टीपी गैर-मानक पोर्ट का उपयोग कर सकता है, जो फायरवॉल को कठिन बना सकता है (विशेषकर यदि आप एसएसएल का उपयोग कर रहे हैं)। HTTP आमतौर पर एक ज्ञात बंदरगाह पर है, इसलिए यह शायद ही कभी एक समस्या है।

यदि आप एफ़टीपी का उपयोग करने का निर्णय लेते हैं, तो सुनिश्चित करें कि आपने सक्रिय और निष्क्रिय एफ़टीपी के बारे में पढ़ा है ।

प्रदर्शन के संदर्भ में, दिन के अंत में वे दोनों सीधे टीसीपी कनेक्शन की फाइलों को उगल रहे हैं, इसलिए उसी के बारे में होना चाहिए।


-5

वे दोनों एक ट्रांसपोर्ट प्रोटोकॉल के रूप में टीसीपी का उपयोग करते हैं, लेकिन HTTP एक निरंतर कनेक्शन का उपयोग करता है, जो टीसीपी के प्रदर्शन को बेहतर बनाता है।

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