Чи передає файл ftp краще, ніж http?


Відповіді:


7

Викрадене з eHow, посилання внизу

Переваги та недоліки HTTP

Завантаження HTTP забезпечує надзвичайно простий метод завантаження файлів на сервер, з мінімальними знаннями про передачу файлів. Завантаження файлу теж надзвичайно просто. Однак недоліки полягають у недостатній потужності HTTP, що стосується завантаження файлів. Крім того, програміст повинен мати знання, необхідні для створення форми в HTML, щоб завантажити відповідний файл. Це особливо справедливо, якщо файл призначений для соціальної мережі, схожої на Myspace або Facebook, яку вони створюють.

Переваги та недоліки FTP

Використання FTP-сервера пропонує власні переваги. Для одного користувач може використовувати програму для масового завантаження на сервер, не турбуючись про те, що доведеться повторно переглядати файли та повторно завантажувати їх за допомогою однієї форми. Завантаження також можна робити масово. На жаль, FTP-сервер все ще потребує використання FTP-клієнта, і використання одного з них було б особливо громіздким для тих, хто просто хотів завантажити фотографію чи дві.

Відмінності

Зрештою, передача файлів FTP та HTTP має абсолютно різні цілі. Мета передачі файлів FTP - це більш-менш для обслуговування веб-сайтів та пакетних завантажень, в той час як HTTP призначений для роботи клієнта та для кінцевих користувачів, щоб завантажувати на сервер такі речі, як фільми, зображення та інші файли. Часто програміст використовує FTP для завантаження файлів, які дозволяють кінцевому користувачу також завантажувати файли через HTML / HTTP.

Детальніше: HTTP Vs. Передача файлів FTP | eHow.com http://www.ehow.com/about_5435784_http-vs-ftp-file-transfer.html#ixzz0wlUSkVIY


4
Це здебільшого стосується переваг / недоліків при завантаженні . Про це не було питання.
sleske

@sleske: Погоджено. Я спростував відповідь Ніфле.
незабутніidSupportsMonica

8

Загалом, загальні відповіді про мережеву продуктивність протоколу дуже важкі, оскільки продуктивність дуже залежить від конкретних налаштувань мережі, часто більше, ніж від використовуваного протоколу.

З цього приводу я не знаю жодної причини, через яку пропускна здатність даних http та ftp повинна бути різною. Обидва в основному просто надсилають дані через потік TCP, тому власне процес передачі даних однаковий. Отже, ні, загалом швидкість завантаження повинна бути однаковою для ftp та http.

http, як правило, бажано з інших причин: він краще працює з брандмауерами (може бути проксі-сервер), він дозволяє перезапустити перервані завантаження і може подавати тип носія разом із завантаженням (MIME), простіше шифрувати (TLS / SSL) тощо.


1
http не дозволяє переривати завантаження. Ви впевнені, що не маєте на увазі ftp? ftp також може бути проксі-кодом та зашифрованим. Завантажувати Http бажано лише тому, що він не вимагає від кого-небудь встановлювати ftp-клієнт (або сервер для постачальника вмісту)
Nifle

1
Так, я маю на увазі http. http дозволяє відновити завантаження (за допомогою заголовка "Діапазон:"). Однак я виправданий щодо FTP: він також дозволяє відновити завантаження.
sleske

Щодо пропускного доступу / шифрування: Так, FTP може це зробити, але це, мабуть, складніше і, що ще важливіше, менш поширене, тоді як підтримка HTTP-проксі та TLS практично універсальна.
sleske

І btw, ftp завантаження зазвичай не вимагає встановлення клієнта ftp, оскільки більшість браузерів можуть завантажувати ftp (використовуючи ftp: // URL). Однак більшість браузерів не може завантажувати ftp.
sleske

3

Для мене однією з найбільших підводних каменів FTP є її нездатність повторно використовувати сокети. FTP має 3 режими передачі: "Потік", "Блокувати" та "Стиснене", проте підтримка останніх двох не є загальною. У режимі за замовчуванням і найбільш широко використовуваному режимі (Потік) дані в основному передаються як необроблений потік байтів, і оскільки у нього немає метаданих про те, коли він закінчується з цим файлом, він повинен ЗАКРИТИ з'єднання, коли це зроблено. Це означає, що якщо ви передаєте 100 000 файлів через FTP, ви відкриваєте та закриваєте 100 000 TCP-з'єднань. Якщо це було недостатньо погано, коли одне з цих з'єднань закрите, його необхідно перевести у стан TIME_WAIT протягом певного періоду часу. Затримка для повторного використання цього порту за умовчанням становить 240 секунд (4 хвилини). На додаток до цього, за замовчуванням у вас є лише до 5000 портів. Це робить FTP кошмаром для передачі великої кількості невеликих файлів. Налаштувавши реєстр, ви можете отримати затримку відключення до 30 секунд та збільшити максимальні порти користувачів до приблизно 65 000, що допоможе багато, але в жодному разі не є ідеальним.

HTTP, з іншого боку, може повторно використовувати той же сокет для передачі декількох файлів. Тож якщо у вас багато файлів (особливо файлів менших розмірів), то HTTP був би кращим вибором без сумнівів.

Якщо ви робите лише кілька великих файлів, то не важливо, який саме протокол ви використовуєте. Я думаю, що FTP просто приходить в голову, коли люди думають про передачу файлів, але це, звичайно, не означає, що це краще.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.