Czy w przypadku przesyłania plików ftp działa lepiej niż http?

Odpowiedzi:

7

Skradzione z eHow, link na dole

Zalety i wady HTTP

Przesyłanie HTTP zapewnia niezwykle prostą metodę przesyłania plików na serwer przy minimalnej wiedzy na temat przesyłania plików. Pobieranie pliku jest również niezwykle łatwe. Wady polegają jednak na braku mocy HTTP w zakresie przesyłania plików. Ponadto programista musi posiadać wiedzę niezbędną do utworzenia formularza w HTML, aby przesłać dany plik. Jest to szczególnie ważne, jeśli plik jest przeznaczony dla sieci społecznościowej podobnej do Myspace lub Facebook, którą tworzą.

Zalety i wady FTP

Korzystanie z serwera FTP ma swoje zalety. Po pierwsze, użytkownik może użyć programu do masowego przesyłania na serwer, bez konieczności martwienia się o konieczność wielokrotnego przeglądania plików i ponownego przesyłania ich za pomocą jednego formularza. Pliki do pobrania można również wykonywać masowo. Niestety, serwer FTP nadal wymaga użycia klienta FTP, a korzystanie z niego byłoby szczególnie kłopotliwe dla tych, którzy chcieli przesłać zdjęcie lub dwa.

Różnice

Ostatecznie transfery plików FTP i HTTP mają zupełnie inne cele. Transfer plików FTP służy mniej więcej do konserwacji strony internetowej i przesyłania wsadowego, podczas gdy HTTP służy do pracy po stronie klienta, a użytkownicy końcowi mogą przesyłać takie rzeczy jak filmy, zdjęcia i inne pliki na serwer. Często programista używa FTP do przesyłania plików, które pozwalają również użytkownikom końcowym przesyłać pliki przez HTML / HTTP.

Czytaj więcej: HTTP vs. Przesyłanie plików FTP | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY

Nifle
źródło
4
Chodzi przede wszystkim o zalety / wady podczas przesyłania . Nie o to chodziło w tym pytaniu.
sleske
@sleske: Zgoda. Głosowałem za odpowiedzią Nifle'a.
unforgettableidSupportsMonica
8

Zasadniczo ogólne odpowiedzi na temat wydajności protokołu w sieci są bardzo trudne, ponieważ wydajność w dużej mierze zależy od konkretnej konfiguracji sieci, często bardziej niż od używanego protokołu.

To powiedziawszy, nie znam żadnego powodu, dla którego przepustowość danych http i ftp powinna być inna. Oba zasadniczo po prostu wysyłają dane za pośrednictwem strumienia TCP, więc faktyczny proces przesyłania danych jest taki sam. Więc nie, ogólnie rzecz biorąc prędkości pobierania powinny być takie same dla ftp i http.

http jest zwykle preferowany z innych powodów: działa lepiej z zaporami ogniowymi (może być proxy), pozwala na ponowne uruchomienie przerwanych pobrań i może dostarczyć typ nośnika wraz z pobieraniem (MIME), łatwiej jest zaszyfrować (TLS / SSL) itp.

Śleske
źródło
1
http nie pozwala na przerywane pobieranie, czy na pewno nie masz na myśli ftp? ftp może być także proxy i szyfrowany. Pobieranie HTTP jest preferowane tylko preferowane, ponieważ nie wymaga od nikogo instalacji klienta ftp (ani serwera dostawcy treści)
Nifle
1
Tak, mam na myśli http. http pozwala wznowić pobieranie (za pomocą nagłówka „Range:”). Mam jednak poprawione co do FTP: pozwala także na wznowienie pobierania.
sleske
Jeśli chodzi o proxy / szyfrowanie: Tak, FTP może to zrobić, ale najwyraźniej jest to bardziej skomplikowane, a co ważniejsze, mniej rozpowszechnione, podczas gdy obsługa proxy HTTP i TLS jest praktycznie uniwersalna.
śleske,
A tak przy okazji, pobieranie ftp zwykle nie wymaga instalacji klienta ftp, ponieważ większość przeglądarek może pobierać ftp (używając adresu URL ftp: //). Jednak większość przeglądarek nie może przesyłać przez ftp.
sleske
3

Dla mnie jedną z największych pułapek FTP jest brak możliwości ponownego wykorzystania gniazd. FTP ma 3 tryby przesyłania: Stream, Block i Compressed, jednak obsługa dwóch ostatnich nie jest powszechna. W domyślnym i najczęściej używanym trybie (Strumień) dane są w zasadzie przesyłane jako nieprzetworzony strumień bajtów, a ponieważ nie ma metadanych dotyczących zakończenia tego pliku, musi on zamknąć połączenie po zakończeniu. Oznacza to, że jeśli przesyłasz 100 000 plików przez FTP, otwierasz i zamykasz 100 000 połączeń TCP. Jeśli to nie było wystarczająco złe, gdy jedno z tych połączeń jest zamknięte, należy przez pewien czas wprowadzić stan TIME_WAIT. Domyślne opóźnienie ponownego użycia tego portu w systemie Windows wynosi 240 sekund (4 minuty). Co więcej, domyślnie masz do 5000 portów. To sprawia, że ​​FTP jest koszmarem do przesyłania dużych ilości małych plików. Poprzez ulepszenie rejestru można uzyskać opóźnienie czasu odnowienia do 30 sekund i zwiększyć maksymalne porty użytkownika do około 65 000, co bardzo pomoże, ale w żadnym wypadku nie jest idealne.

Z drugiej strony HTTP może ponownie wykorzystać to samo gniazdo do przesyłania wielu plików. Więc jeśli masz dużo plików (szczególnie mniejszych), HTTP byłby bez wątpienia lepszym wyborem.

Jeśli robisz tylko kilka dużych plików, nie ma znaczenia, jakiego protokołu użyjesz. Myślę, że FTP przychodzi mi na myśl, gdy ludzie myślą o przesyłaniu plików, ale to na pewno nie oznacza, że ​​jest w tym lepszy.

Despertar
źródło