Коли у мене є http, а також ftp варіанти (як, наприклад, сторінка завантаження Hadoop ), чи варто віддати перевагу ftp?
Я раніше пробував ftp і не помітив суттєвої різниці. Це має бути краще?
Коли у мене є http, а також ftp варіанти (як, наприклад, сторінка завантаження Hadoop ), чи варто віддати перевагу ftp?
Я раніше пробував ftp і не помітив суттєвої різниці. Це має бути краще?
Відповіді:
Викрадене з 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
Загалом, загальні відповіді про мережеву продуктивність протоколу дуже важкі, оскільки продуктивність дуже залежить від конкретних налаштувань мережі, часто більше, ніж від використовуваного протоколу.
З цього приводу я не знаю жодної причини, через яку пропускна здатність даних http та ftp повинна бути різною. Обидва в основному просто надсилають дані через потік TCP, тому власне процес передачі даних однаковий. Отже, ні, загалом швидкість завантаження повинна бути однаковою для ftp та http.
http, як правило, бажано з інших причин: він краще працює з брандмауерами (може бути проксі-сервер), він дозволяє перезапустити перервані завантаження і може подавати тип носія разом із завантаженням (MIME), простіше шифрувати (TLS / SSL) тощо.
Для мене однією з найбільших підводних каменів FTP є її нездатність повторно використовувати сокети. FTP має 3 режими передачі: "Потік", "Блокувати" та "Стиснене", проте підтримка останніх двох не є загальною. У режимі за замовчуванням і найбільш широко використовуваному режимі (Потік) дані в основному передаються як необроблений потік байтів, і оскільки у нього немає метаданих про те, коли він закінчується з цим файлом, він повинен ЗАКРИТИ з'єднання, коли це зроблено. Це означає, що якщо ви передаєте 100 000 файлів через FTP, ви відкриваєте та закриваєте 100 000 TCP-з'єднань. Якщо це було недостатньо погано, коли одне з цих з'єднань закрите, його необхідно перевести у стан TIME_WAIT протягом певного періоду часу. Затримка для повторного використання цього порту за умовчанням становить 240 секунд (4 хвилини). На додаток до цього, за замовчуванням у вас є лише до 5000 портів. Це робить FTP кошмаром для передачі великої кількості невеликих файлів. Налаштувавши реєстр, ви можете отримати затримку відключення до 30 секунд та збільшити максимальні порти користувачів до приблизно 65 000, що допоможе багато, але в жодному разі не є ідеальним.
HTTP, з іншого боку, може повторно використовувати той же сокет для передачі декількох файлів. Тож якщо у вас багато файлів (особливо файлів менших розмірів), то HTTP був би кращим вибором без сумнівів.
Якщо ви робите лише кілька великих файлів, то не важливо, який саме протокол ви використовуєте. Я думаю, що FTP просто приходить в голову, коли люди думають про передачу файлів, але це, звичайно, не означає, що це краще.