HTTP ir FTP failų perdavimo palyginimas

Kokie yra privalumai (ar apribojimai), susiję su kitomis failų perkėlimu internetu?

(Žinau apie saugias abiejų protokolų formas. Norėčiau išgirsti palyginimus per asmeninę patirtį, susijusią su našumu, patikimumu, failo dydžio apribojimais ir pan.)

83
04 апр. Mystic nustatytas balandžio 04 d 2009-04-04 17:42 '09 at 17:42 pm 2009-04-04 17:42
@ 5 atsakymai

Čia yra rezultatų palyginimas . HTTP labiau reaguoja į mažų failų užklausas ir atsakymus, tačiau, jei tinkamai sukonfigūruotas, FTP gali būti geresnis dideliems failams. Paprastai FTP buvo laikoma greičiau. FTP reikalauja, kad prie TCP būsenos būtų išlaikytas valdymo kanalas ir būsena, tačiau HTTP nėra. Prieš siųsdami duomenis į FTP serverį, siunčiami 6 paketai, bet tik 4 - HTTP.

Manau, kad tinkamai sukonfigūruotas TCP sluoksnis turės didesnį poveikį greičiui nei skirtumas tarp taikomojo sluoksnio protokolų. „Sun Blueprint“ TCP sąrankos santraukoje pateikiama informacija.

Čia yra dar vienas geras kiekvieno protokolo savybių palyginimas .

77
04 апр. John Ellinwood atsakymas balandžio 04 2009-04-04 17:54 '09, 17:54, 2009-04-04 17:54

Daugelis užkardų pašalina išeinančius ryšius, kurie nepriklauso 80 arba 443 prievadams (http ir https); kai kurie netgi prijungia jungtis prie uostų, kurie nėra HTTP (S). FTP gali būti įjungtas arba neįmanoma, jau nekalbant apie aktyvius / PASV režimus.

Be to, HTTP / 1.1 leidžia daug geresnių dalinių užklausų („tik siųsti iš baito 123456 į failo pabaigą“), sąlyginiai prašymai ir spartinimas („tik siunčiami, jei turinys keičiamas / pakeista paskutinė data“) ir turinio glaudinimas (gzip ).

HTTP yra daug lengviau naudoti per tarpinį serverį.

Iš mano anekdotinių įrodymų, HTTP palengvina darbą su sumažėjusiais / lėtais / pleiskančiais ryšiais; Pvz., prieš (per) pradėdami persiųsti, nereikia (pakartotinai) užmegzti prisijungimo sesijos.

OTOH, HTTP neturi pilietybės, taigi jums reikės atlikti autentifikavimą ir sukurti kūrinį „kas padarė ką kada.“

Vienintelis greičio skirtumas, kurį pastebėjau, yra daugelio mažų failų perkėlimas: HTTP su vamzdynais yra greitesnis (sumažėja apvalinimas, ypač pastebimas tinkluose su dideliu latentiniu periodu).

Atkreipkite dėmesį, kad HTTP / 2 siūlo dar daugiau optimizacijų, o FTP protokolas nematė jokių atnaujinimų dešimtmečius (ir netgi FTP plėtiniai yra nereikšmingi vartotojų įsisavinimo atvejai). Taigi, jei neperduodate failų per laiko aparatą, atrodo, kad HTTP laimėjo.

(Tangentiškai: yra protokolai, kurie geriau tinka failams perkelti, pvz., rsync arba BitTorrent, tačiau jie neturi tiek daug proto, o HTTP yra visur ™)

18
04 апр. atsakymas duotas Piskvor 04 balandžio. 2009-04-04 18:10 '09, 18:10, 2009-04-04 18:10

Tiesiog palyginau failų perdavimą per FTP ir HTTP:

  • per du labai gerus serverio ryšius
  • naudojant tą patį .zip 1GB failą.
  • tomis pačiomis tinklo sąlygomis (patikrintos po vieną)

Rezultatas:

  • naudojant FTP: 6 minutės
  • naudojant HTTP: 4 minutės
  • naudojant lygiagrečią parsisiuntimo programinę įrangą http ( fdm ): 1 minutė

Taigi, iš esmės „realaus gyvenimo“ situacijoje:

1) Atsisiunčiant vieną didelį failą, HTTP atsisiuntimas yra greitesnis nei FTP.

2) HTTP gali naudoti lygiagretųjį prievadų atsisiuntimą, kuris leidžia 6 kartus greičiau nei FTP, priklausomai nuo tinklo sąlygų.

13
21 июля '15 в 8:29 2015-07-21 08:29 atsakymas pateikiamas „ BitQuestions“ liepos 21 d. 15: 8: 29 2015-07-21 08:29

Vienas iš svarstymų yra tai, kad FTP gali naudoti nestandartinius prievadus, dėl kurių gali būti sunku gauti užkardas (ypač jei naudojate SSL). Paprastai HTTP yra žinomame uoste, todėl tai retai yra problema.

Jei nuspręsite naudoti FTP, perskaitykite apie aktyvųjį ir pasyvųjį FTP .

Kalbant apie pasirodymą, dienos pabaigoje jie abu siunčia failus tiesiogiai per TCP ryšius, todėl jie turėtų būti tokie patys.

11
04 апр. atsakymą pateikė brian-brazil 04 apr. 2009-04-04 18:00 '09 18:00 val. 2009-04-04 18:00

Abu naudojami TCP kaip transporto protokolas, bet HTTP naudoja nuolatinį ryšį, kuris pagerina TCP našumą.

-3
25 сент. atsakymas suteiktas saleh 25 Sep. 2014-09-25 01:53 '14 at 1:53 2014-09-25 01:53