Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Вниз

ftp или http   Найти похожие ветки 

 
anton773 ©   (2006-08-11 22:12) [0]

Еще один вопрос. По какому протоколу лучше скачивать файлы если есть возможность выбора.В чем преимущества и недостатки ftp и http. Заранее спасибо.


 
Alvin ©   (2006-08-12 13:30) [1]

Вообще FTP это протокол специально для передачи файлов - File Transfer Protocol


 
mr. Eof   (2006-08-12 18:30) [2]

На самом деле, http - универсальный протокол, и передавать данные по нему можно не хуже. Посмотри любой сайт, там тебе везде предложат выбрать http или ftp.
Разницы - нет.

Но я бы качал по FTP.


 
Ketmar ©   (2006-08-12 19:52) [3]

однофигственно. я -- по http. %-))


 
anton773 ©   (2006-08-12 21:13) [4]

А если смотреть по объему переданных(полученных ) байт. Какой протокол экономичнее? (в смысле служебной информации)


 
Ketmar ©   (2006-08-12 21:14) [5]

пофигу.


 
anton773 ©   (2006-08-12 21:35) [6]

Всем спасибо!


 
SergP ©   (2006-08-12 23:51) [7]

> [2] mr. Eof   (12.08.06 18:30)
> На самом деле, http - универсальный протокол, и передавать
> данные по нему можно не хуже. Посмотри любой сайт, там тебе
> везде предложат выбрать http или ftp.
> Разницы - нет.
>
> Но я бы качал по FTP.


> [5] Ketmar ©   (12.08.06 21:14)
> пофигу.


По http все-таки лучше и быстрее. У меня инет дерьмовый, поэтому разницу сильно заметно. По хттп отправляется запрос, а далее закачивается контент, а по фтп перед самой закачкой клиент должен долго (сравнительно) "общаться с сервером".


 
Ketmar ©   (2006-08-13 00:03) [8]

> [7] SergP ©   (12.08.06 23:51)
да, в общем, не столь уж и долго. в принципе, общение по ftp даже на несколько десятков байт короче иногда (если тупой сервер не присылает километровые приветы %-). а "долгота" -- это от того, что несколько соединений устанавливается.


 
Интересующийся   (2006-08-15 10:10) [9]

Если много файлов загрудаются или каталог то однозначно FTP
А по одному действительно пофин.

P.S.
Если файлы загружаются по одному и редко лучше выбрать HTTP, его проще реализовать :)


 
Ketmar ©   (2006-08-15 15:00) [10]

> [9] Интересующийся   (15.08.06 10:10)
и если много -- тоже пофигу. %-)


 
DVM ©   (2006-08-15 15:07) [11]

HTTP проще в реализации и в использовании. Меньше (теоретически) грузит сервер.


 
anton773 ©   (2006-08-15 21:24) [12]

А вообще в идеале сколько должно быть служебной информации в закачиваемом файле.У меня вот процентов 8-10.Шото многовато.


 
Dmitrij_K   (2006-08-15 22:13) [13]

Служебной информации при скачивании файлов по ftp и http меньше 1 кб


 
Slym ©   (2006-08-16 06:40) [14]

http можно подружить с gzip/deflate тогда экономичность поднимется


 
Ketmar ©   (2006-08-16 09:59) [15]

> [12] anton773 ©   (15.08.06 21:24)
смотря какого размера файл. если байт, например, то в процентном отношении будет очень много. %-)


 
Ketmar ©   (2006-08-16 09:59) [16]

ой. в закачиваемом файле вообще нет никакой "служебной информации". она идёт до. %-)


 
anton773 ©   (2006-08-16 21:46) [17]


> ой. в закачиваемом файле вообще нет никакой "служебной информации".
>  она идёт до. %-)

Да но ведь при скачивании файла по http он нарезается на пакетики размером обычно меннее килобайта и в каждый пакетик добавляется служебная информация если верить умным книгам то 40 байт + балласт(если пакет менее стандартного).Поправьте меня если я не прав.


 
Ketmar ©   (2006-08-16 21:55) [18]

> [17] anton773 ©   (16.08.06 21:46)
это вам кто-то жестоко наврал.


 
Dmitrij_K   (2006-08-16 21:57) [19]


> Да но ведь при скачивании файла по http он нарезается на
> пакетики размером обычно меннее килобайта

Неа
Клиент посылает заголовок потом данные, и сервер отвечает также
\\


 
Dmitrij_K   (2006-08-16 21:58) [20]

Ты перепутал с более низким уровнем, tcp или ip


 
anton773 ©   (2006-08-16 22:26) [21]


> это вам кто-то жестоко наврал.

http://win-da.by.ru/internet/speed.shtml (раздел оптимизация размера TCP пакета)


 
Ketmar ©   (2006-08-16 22:28) [22]

> [21] anton773 ©   (16.08.06 22:26)
хм. а при чёи тут протокол TCP? мы же о протоколах более высокого уровня говорим. а TCP -- он и под ftp тоже лежит. %-)


 
anton773 ©   (2006-08-17 03:47) [23]


> мы же о протоколах более высокого уровня говорим

Я не совсем правильно вопрос сформулировал :-) А еще есть способы уменьшить объем служебной информации?  [21] частично помогло,но хочется еще оптимизировать траффик.


 
Slym ©   (2006-08-17 08:42) [24]

anton773 ©   (17.08.06 3:47) [23]
оптимизировать траффик

САЖМИ ЕГО!


 
Ketmar ©   (2006-08-17 10:09) [25]

> [23] anton773 ©   (17.08.06 03:47)
в общем случае задача решаема фиговато. только под конкретные условия. например, для локалки можно научить сокеты не аккумулировать байты, а слать их почти сразу на сетевуху. и отдавать файлы большими кусками. сеть забьётся мгновенно, но может и будет шустрее. %-)


 
Belorus ©   (2006-08-17 14:42) [26]

И FTP и ХТТП качают одинаково. Служебная инфа идёт до передачи и всё. До конца закачки, они молчат, льётся только инфа. Если Передача идёт по TCP, то приходят подтверждения. По UDP - не приходят(если не модифицировано для подтверждения). Никак оптимизировать не удастся.


 
Ketmar ©   (2006-08-17 14:55) [27]

> [26] Belorus ©   (17.08.06 14:42)
удастся. см. [25].


 
Slym ©   (2006-08-17 15:05) [28]

Ketmar ©   (17.08.06 10:09) [25]
не аккумулировать байты, а слать их почти сразу на сетевуху

называется Nagle режим
Трафик вырастит адназначна!
если отсылать 1000б без Nagle режима он уйдет одним пакетом размером
1000 + размер IP заголовка (не помню но около 20 байт) + размер TCP заголовка (прим 15байт) итого около 1035 байт (при условии что MTU больше)
при отсылке 1000б с Nagle режимом допустим в 5 заходов толучим 5 IP пакетов общим размером (1000/5+20+15)*5 т.е. на (20+15)*4=80 байт больше


 
Ketmar ©   (2006-08-17 15:11) [29]

> [28] Slym ©   (17.08.06 15:05)
нет, не naggle. " если буфер для исходящих имеет нулевой размер, то функции Send и SendTo независимо от режима работы сокета отправляют данные непосредственно в сеть" (ц)
я имел в виду именно это.


 
anton773 ©   (2006-08-17 21:40) [30]

Всем спасибо. Получается что все возможное для оптимизации траффика я уже сделал. и больше чем рекомендуют в [21] не сделать


 
SergP ©   (2006-08-18 00:34) [31]

> [17] anton773 ©   (16.08.06 21:46)
>
> > ой. в закачиваемом файле вообще нет никакой "служебной
> информации".
> >  она идёт до. %-)
>
> Да но ведь при скачивании файла по http он нарезается на
> пакетики размером обычно меннее килобайта и в каждый пакетик
> добавляется служебная информация если верить умным книгам
> то 40 байт + балласт(если пакет менее стандартного).Поправьте
> меня если я не прав.


Это ты уже на уровень TCP перепрыгнул. Здесь разницы нежду http и ftp нет никакой, так как они оба базируются на TCP.


> А еще есть способы уменьшить объем служебной информации?
>


Увеличить MTU и MSS. Хотя если это не в локалке, а в инете, то может даже ухудшить ситуацию. Ну можно подобрать наиболее оптимальные значения...

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


 
brother ©   (2006-08-20 11:12) [32]

Раз пошла речь о закачке фалов, подскажите пример закачки файла с http. А то искал, а все примеры тока для index.html страниц! (во всяком случае только они и скачиваются). Я бы хотел и рисунки итд скачать.


 
Alex Konshin ©   (2006-08-20 12:03) [33]

Для закачки гораздо предпочтительнее использовать HTTP, т.к. не будет проблем с proxy и firewall.
FTP лучше не использовать, т.к. он исполльзует два порта (два соединения) и потому проблемы с firewall. Единственный случай, когда FTP предпочтительней  -  это если нужно дать возможность клиенту получить список файлов в неком фолдере на сервере.

Все остальные доводы - ерунда.


 
Ketmar ©   (2006-08-20 13:01) [34]

> [32] brother ©   (20.08.06 11:12)
"прикалываются" в другом месте.


 
Anatoly Podgoretsky ©   (2006-08-20 13:38) [35]

FTP  - File Transfer Protocol
HTTP - HyperText Transfer Protocol


 
Alex Konshin ©   (2006-08-20 22:02) [36]

> Anatoly Podgoretsky ©   (20.08.06 13:38) [35]
> FTP  - File Transfer Protocol
> HTTP - HyperText Transfer Protocol

И что из этого? На заборе тоже много чего написано.
Факт то, что HTTP проще использовать, если есть файерволы на пути.
А файлы они передают одинаково.


 
atruhin ©   (2006-08-21 16:53) [37]

> [29] Ketmar ©   (17.08.06 15:11)
> > [28] Slym ©   (17.08.06 15:05)
> нет, не naggle. " если буфер для исходящих имеет нулевой
> размер

Ты не прав. naggle делает именно то, что ты так пространно описал.


 
Ketmar ©   (2006-08-21 21:00) [38]

> [37] atruhin ©   (21.08.06 16:53)
афаир, naggle -- это собирание мелких пакетов в один, а потом отправка. это очень похоже на то, что я описал, но не то же самое. %-)


 
n0name   (2006-08-22 14:35) [39]


> Alex Konshin ©   (20.08.06 12:03) [33]

Можно перевести сервер в пассивный режим, указав номер порта, который можно предварительно разрешить в фаерволе.


 
Alex Konshin ©   (2006-08-23 14:26) [40]

> n0name   (22.08.06 14:35) [39]
> > Alex Konshin ©   (20.08.06 12:03) [33]
> Можно перевести сервер в пассивный режим, указав номер порта,
>  который можно предварительно разрешить в фаерволе.

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



Страницы: 1 2 вся ветка

Форум: "Сети";
Текущий архив: 2007.01.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.13 c
15-1167751512
_uw_
2007-01-02 18:25
2007.01.21
Приоритет потоков


2-1167225102
Гульназ
2006-12-27 16:11
2007.01.21
У меня база не работает, как восстановить?


15-1167164837
kroner
2006-12-26 23:27
2007.01.21
Регулярные выражения в delphi


2-1167362436
Adios
2006-12-29 06:20
2007.01.21
TRichEdit


15-1167503328
Pazitron_Brain
2006-12-30 21:28
2007.01.21
Побрился первый раз!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский