Dosya aktarımı için ftp, http'den daha iyi performans gösterir mi?


Yanıtlar:


7

EHow'dan çalındı, alttaki bağlantı

HTTP'nin Avantajları ve Dezavantajları

HTTP yüklemeleri, dosya aktarımları hakkında en az bilgi birikimi ile dosyaları sunucuya yüklemek için inanılmaz derecede basit bir yöntem sağlar. Dosya indirmek de inanılmaz derecede kolaydır. Ancak dezavantajlar, dosya yükleme söz konusu olduğunda HTTP'nin güç eksikliğinden kaynaklanmaktadır. Ayrıca, bir programcının söz konusu dosyayı yüklemek için formu HTML'de oluşturmak için gerekli bilgiye sahip olması gerekir. Bu, özellikle dosya oluşturdukları Myspace veya Facebook'a benzer bir sosyal ağ içinse geçerlidir.

FTP'nin Avantajları ve Dezavantajları

Bir FTP sunucusu kullanmak kendi avantajlarını sunar. Birincisi, bir kullanıcı bir programı bir sunucuya toplu yükleme yapmak için kullanabilir, dosyalar için tekrar tekrar yeniden lisans almak ve bir formu kullanarak yeniden yüklemek zorunda kalmamak konusunda endişelenmek zorunda kalmaz. İndirmeler de toplu olarak yapılabilir. Ne yazık ki, bir FTP sunucusu hala bir FTP istemcisinin kullanmasını gerektirir ve birinin kullanımı sadece bir veya iki resim yüklemek isteyenler için hantal olacaktır.

farklılıklar

Sonuçta, FTP ve HTTP dosya aktarımlarının tamamen farklı amaçları vardır. FTP'nin dosya aktarım amacı web sitesi bakımı ve toplu yüklemeler için az ya da çok, HTTP ise istemci-sonu çalışma ve son kullanıcıların film, resim ve diğer dosyalar gibi şeyleri sunucuya yüklemesi içindir. Çoğu zaman, bir programcı, son kullanıcının HTML / HTTP yoluyla dosya yüklemesine izin veren dosyaları yüklemek için FTP kullanır.

Daha fazla bilgi için: HTTP Vs. FTP Dosya Aktarımı | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY


4
Bu çoğunlukla yükleme sırasında avantajlar / dezavantajlar ile ilgilidir . Sorunun konusu bu değildi.
sleske

@sleske: Kabul etti. Nifle'nin cevabını küçümsedim.
unforgettableidSupportsMonica

8

Genel olarak, bir protokolün ağ performansı ile ilgili genel cevaplar çok zordur, çünkü performans büyük ölçüde spesifik ağ kurulumuna bağlıdır, genellikle kullanılan protokole göre daha fazladır.

Bununla birlikte, http ve ftp'nin veri akışının farklı olması için herhangi bir neden bilmiyorum. Her ikisi de sadece bir TCP akışı üzerinden veri gönderir, böylece gerçek veri aktarımı işlemi aynıdır. Yani, hayır, genel olarak indirme hızları ftp ve http için aynı olmalıdır.

http genellikle diğer nedenlerle tercih edilir: Güvenlik duvarlarıyla daha iyi çalışır (proxy olabilir), kesintili indirmelerin yeniden başlatılmasına izin verir ve indirme (MIME) ile birlikte medya türünü sağlayabilir, şifrelemek daha kolaydır (TLS / SSL) , vb...


1
http kesintili indirmelere izin vermiyor, ftp demek istemediğinizden emin misiniz? ftp proksiye edilebilir ve şifrelenebilir. Http yüklemeleri yalnızca ftp istemcisi (veya içerik sağlayıcısı için bir sunucu) yüklemesini gerektirmediği için tercih edilir
Nifle

1
Evet, http demek istiyorum. http indirmeye devam etmenizi sağlar ("Aralık:" başlığını kullanarak). Ancak, FTP için düzeltilmiş olarak duruyorum: Ayrıca indirme işlemlerine devam etmeyi sağlar.
sleske

Proxy / şifreleme ile ilgili olarak: Evet, FTP bunu yapabilir, ancak görünüşe göre daha karmaşık ve daha da önemlisi, daha az yaygındır, HTTP proxy'leri ve TLS desteği pratik olarak evrenseldir.
sleske

Ve btw, ftp download genellikle bir ftp istemcisinin yüklenmesini gerektirmez, çünkü çoğu tarayıcı ftp ile indirebilir (ftp: // URL kullanarak). Ancak, çoğu tarayıcı ftp ile yüklenemez.
sleske

3

Bana göre FTP'nin en büyük tuzaklarından biri, soketleri tekrar kullanamaması. FTP, Aktarım, Engelleme ve Sıkıştırılmış olmak üzere 3 aktarım moduna sahiptir, ancak son ikisi için destek yaygın değildir. Varsayılan ve en yaygın kullanılan modda (Akış), veriler temel olarak ham bir bayt akışı olarak aktarılır ve bu dosyayla ne zaman bittiği hakkında meta veri içermediğinden, bittiğinde bağlantıyı KAPALI hale getirmelidir. Bu, FTP üzerinden 100.000 dosya aktarırsanız, 100.000 TCP bağlantısını açar ve kapatırsınız. Bu bağlantılardan biri kapatıldığında bu yeterince kötü değilse, bir süre için TIME_WAIT durumuna getirilmelidir. Bu bağlantı noktasının pencerelerde yeniden kullanılması için varsayılan gecikme 240 saniyedir (4 dakika). Hepsinden önemlisi, varsayılan olarak kullanmak için en fazla 5.000 bağlantı noktanız vardır. Bu, FTP'yi büyük miktarlardaki küçük dosyaları aktarmak için bir kabus yapar. Kayıt defterini değiştirerek bekleme süresi gecikmesini 30 saniyeye çıkarabilir ve maksimum kullanıcı portlarını yaklaşık 65.000'e çıkarabilirsiniz, bu da çok yardımcı olacaktır, ancak hiçbir şekilde ideal değildir.

HTTP ise aynı soketi birden fazla dosya aktarmak için tekrar kullanabilir. Eğer çok dosya (özellikle küçük dosyalar) varsa, o zaman HTTP şüphesiz daha iyi bir seçim olacaktır.

Sadece birkaç büyük dosya yapıyorsanız, hangi protokolü kullandığınız önemli değildir. Bence insanlar dosya aktarmayı düşündüğünde FTP akla geliyor ama bu kesinlikle daha iyi olduğu anlamına gelmiyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.