11

Если у меня есть http, а также параметры ftp (например, страница загрузки Hadoop), я должен предпочесть ftp?

Я пробовал ftp раньше и не заметил существенной разницы. Это должно работать лучше?

3 ответа3

8

В целом, общие ответы о производительности сети протокола очень сложны, потому что производительность очень сильно зависит от конкретной настройки сети, часто больше, чем от используемого протокола.

Тем не менее, я не знаю ни одной причины, по которой пропускная способность http и ftp должна быть разной. Оба в основном просто отправляют данные по потоку TCP, поэтому фактический процесс передачи данных одинаков. Так что нет, в общем скорость загрузки должна быть одинаковой для ftp и http.

http обычно предпочтительнее по другим причинам: он лучше работает с брандмауэрами (может быть прокси), позволяет перезапускать прерванные загрузки и может предоставлять тип носителя вместе с загрузкой (MIME), его проще шифровать (TLS/SSL), так далее...

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

3

Для меня одной из самых больших ошибок FTP является невозможность повторного использования сокетов. FTP имеет 3 режима передачи: Stream, Block и Compressed, однако поддержка последних двух не является распространенной. В стандартном и наиболее широко используемом режиме (Stream) данные в основном передаются в виде необработанного потока байтов, и, поскольку у них нет метаданных о завершении работы с этим файлом, он должен ЗАКРЫТЬ соединение, когда это будет сделано. Это означает, что если вы передаете 100 000 файлов по FTP, вы открываете и закрываете 100 000 TCP-соединений. Если это не было достаточно плохо, когда одно из этих соединений закрыто, оно должно быть переведено в состояние TIME_WAIT на некоторое время. Задержка по умолчанию для этого порта для повторного использования в Windows составляет 240 секунд (4 минуты). Чтобы завершить все это, у вас есть только до 5000 портов для использования по умолчанию. Это делает FTP кошмаром для передачи большого количества небольших файлов. Изменяя реестр, вы можете увеличить время восстановления до 30 секунд и увеличить максимальное количество пользовательских портов до 65000, что очень поможет, но ни в коем случае не идеально.

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

Если вы делаете только несколько больших файлов, то не имеет значения, какой протокол вы используете. Я думаю, что FTP приходит на ум, когда люди думают о передаче файлов, но это, конечно, не означает, что это лучше.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .