|
|
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerКонтролируемой, я так понимаю; у него нет или во всяком случае не заявлено задачи работать с произвольными отправителями-получателями за всякими заборами и интернетами. Поэтому не думаю, что подобные ограничения должны существенно влиять на его выбор. Обратного тоже не заявлено. К чему вообще эта попытка думать за ТС? Я просто поправил утверждение что нат мешает работе FTP. Он не мешает. Запреты на файрволе решаются админом который их поставил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:09 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerDima Tпропущено... Есть пассивный режим, прекрасно пропускается натом, но не файрволами с кучей запретов исходящих соединений по номерам портов. Напомню, что топикстартер ищет способ передать файл по сети. Контролируемой, я так понимаю; у него нет или во всяком случае не заявлено задачи работать с произвольными отправителями-получателями за всякими заборами и интернетами. Поэтому не думаю, что подобные ограничения должны существенно влиять на его выбор. Вспомните. Любые it-работы на аутстафах, конмадировках, выездах к заказчику начинаются с того что вы распаковываете ноут. Включаете. И вопрошаете: - А где у васт тут паблик FTP-шничек с дистрами дровами и прочим? Вам отвечают. - А вот тут дескыть на xxx.xxx.xxx.xxx. Логин анонимос пароль - пустой. Profit. Ничего практичнее еще не было придумано. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:11 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerА за этим делом откройте RFC и прочитайте, что в случае http с ненулевой вероятностью вообще не удастся определить, передан ли файл до конца или оборван на середине. Пользователи всяких качалок типа ReGet-а хорошо помнят такие проблемы.Качалки, которые не в состоянии определить допустимость многопоточного скачивания, никак не могут быть проблемой протокола. P.S. Когда меня запарила работа ftp, на который приходилось выгружать дампы базы для анализа разработчиками, я начал выкладывать их на нашем сайте и передавать коротенькое: Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:15 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovКачалки, которые не в состоянии определить допустимость многопоточного скачивания, никак не могут быть проблемой протокола Многопоточность тут не при чём. Проблемой протокола является допустимость молчаливого завершения сеанса как признака успеха. И оверхед в 25% тоже является не то чтобы проблемой, но недостатком протокола. Basil A. Sidorovя начал выкладывать их на нашем сайте и передавать коротенькое: Угу :) То есть фактически начали руками закрывать дырку :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:21 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerПроблемой протокола является допустимость молчаливого завершения сеанса как признака успеха. Допустимо, но так же допустимо серверу при отправке указать в HTTP-заголовке размер передаваемых данных. Тогда клиент проконтролирует размер принятого и сделает вывод: успех или обрыв. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:31 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Dima TДопустимо, но так же допустимо серверу при отправке указать в HTTP-заголовке размер передаваемых данных. Именно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают. Писать руками свою реализацию http меня как-то ломает, а рисковать тем, что в результате обновления библиотеки или перехода на другой веб-сервер или чего-то подобного приложение вдруг начнёт пропускать сломанные файлы - я бы не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:37 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerМногопоточность тут не при чём. Проблемой протокола является допустимость молчаливого завершения сеанса как признака успехаТолько в отсутствии заголовка Content-Length. Но, опять-таки, если качалка не отличает штатное и нештатное закрытие сокета - это не проблемы протокола. Даже если передача потоковая - существует Content-Range, который может использоваться как самостоятельно, так и в комбинации с Content-Length.И оверхед в 25% тоже является не то чтобы проблемой, но недостатком протоколаКак вы собрались получить хоть процент накладных расходов на передаче хоть сколько-нибудь крупных файлов?Угу :) То есть фактически начали руками закрывать дырку :)Какую дырку? Мне в любом случае требовалось сообщать где лежит файл, как он называется и какой у него размер. P.S. Единственное преимущество ftp - существование "стандартного ftp-клиента". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:41 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerИменно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают.Вы опять путаете протокол с кривыми веб-приложениями. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:46 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerDima TДопустимо, но так же допустимо серверу при отправке указать в HTTP-заголовке размер передаваемых данных. Именно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают. Писать руками свою реализацию http меня как-то ломает, а рисковать тем, что в результате обновления библиотеки или перехода на другой веб-сервер или чего-то подобного приложение вдруг начнёт пропускать сломанные файлы - я бы не стал. Не надо писать свою реализацию. Просто HTTP не заточен на работу с файлами, точнее если качать именно файл GET запросом, то размер в заголовке будет, а если на стороне сервера не реальный файл, а результат работы скрипта выдаваемый за файл, то сервер размер не добавит в заголовок (он его не знает), скрипт должен сам об этом позаботится раз эмулирует передачу файла. Скрипт - творчество разработчика конкретного сайта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:55 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovP.S. Когда меня запарила работа ftp, на который приходилось выгружать дампы базы для анализа разработчиками, я начал выкладывать их на нашем сайте и передавать коротенькое: Код: plaintext 1. 2. 3. 4. А разве нельзя было уведомлять разработчиков об изменении дампа по почте? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 15:59 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonА разве нельзя было уведомлять разработчиков об изменении дампа по почте?У разработчика есть, условно говоря, баг-трекер. У нас возникает проблема, мы её смотрим, сообщаем всю необходимую информацию и получаем ответ: "Нужен дамп". При этом в работе может находится ещё пара-тройка инцидентов с таким же первоначальным откликом. Об изменении какого дампа мы должны уведомить разработчика? И почему мылом? И даже если уведомить - почему я должен присылать листинг ftp-каталога вместо http-ссылки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:06 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonА разве нельзя было уведомлять разработчиков об изменении дампа по почте? Можно, но так удобнее. Я также делаю. Залил на свой FTP и кинул в аську http-ссылку. Тем более что основная часть переписки в аське. Да и почта нынче очень ненадежный канал из-за всяких-разных вирусо-, спамо-анализаторов и прочих самодельных правил фильтрации, в т.ч. по размеру. Попробуй отправь EXE на ящик @gmail.com Получится только в архиве и с паролем. Тоже самое у некоторых есть в корпоративной почте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:07 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovsoftwarerИменно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают.Вы опять путаете протокол с кривыми веб-приложениями. Не путаю. Протокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:10 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Кстати. Кто-нибудь использовал в своих задачах HTTP методы PUT, DELETE (не в Rest-сервисах а вообще) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:18 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerНе путаю. Протокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.Поскольку альтернативой http выставляется ftp, то о динамическом контенте речи, наверное, не будет? А если не будет, то и Apache httpd и Apache Tomcat формируют Content-Length для статического контента без дополнительного участия горе-программиста. Насколько я могу судить по документации nginx - он делает точно так же. IIS, в последнее время как-то не попадался, но "меня опять терзают смутные сомнения", что и он делает точно также. Кривые http-серверы, безусловно существуют и лично я даже читал о проблеме работы одной такой поделки и тогда же продемонстрировал, что у индейца нет "этой странной проблемы". Вот буквально за четверть часа собрал то, что не работало у вопрошавшего и выложил лог успешной работы клиента. Т.е. ваш пример из серии: "А что будет, если и клиент и сервер находятся за NAT-ами, которые не имеют поддержки FTP?". Да, такие ситуации бывают и мне даже доводилось на них попадать, но к технологии это никак не относится. Это относится к вполне конкретному рукопопию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:26 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonКто-нибудь использовал в своих задачах HTTP методы PUT, DELETEТолько CONNECT в виде (готовой) реализации socks-прокси. Но это было лет десять назад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:28 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Так что? FTP рулит. FTP+текстовый файлик с MD5 решает все проблемы индейцев. И топик можно закрыть. (Шутка) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:30 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПоскольку альтернативой http выставляется ftp, то о динамическом контенте речи, наверное, не будет? По сути - нет, ТС хотел отправлять файл. По форме - хз, я встречал случаи, когда статический контент в силу неких соображений изображали "псевдодинамическим". Basil A. SidorovА если не будет, то и Apache httpd и Apache Tomcat формируют Content-Length для статического контента без дополнительного участия горе-программиста. Насколько я могу судить по документации nginx - он делает точно так же. Я несколько лет не пользовался http-качалками, может, ситуация изменилась. Пока пользовался - не возвращавшие content-length наблюдал регулярно. Конкретными софтинами и версиями не интересовался. Факт в том, что либо нужно лезть в исходники чужой софтины и чётко проверять, что "точно всегда", либо есть шанс, что в какой-то момент оно тихо уйдёт. Ну например - просто от балды - если файлы переедут на сетевой диск. И никто не заметит, пока не грянет. А при обновлении версий итп риск соответственно растёт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:36 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerПротокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.И, кстати, замените фразу "HTTP протокол" на "реализация SQL-стандарта" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:36 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerПротокол допускает кривые реализации, и это именно его недостаток. Не делая своей серверной части (сайта или веб-приложения) полноценный обмен файлами по HTTP просто невозможен. Классическая настройка безопасности сервера дает пользователю (под которым работает веб-сервер) права только чтения к папке сайта. Т.е. ни веб-сервер, ни скрипт им запущенный при всем желании файл не запишет. Поэтому HTTP не заточен на прием файлов сервером (чтобы они были именно файлами на сервере). Поэтому содержимое файлов заливаются в БД, а потом идет эмуляция скачивания файла. Ну а кривая эмуляция это не кривой веб-сервер. У меня есть такой http-файлообменник. Лично я сделал сохранение файлов как файлов, дал права записи на папку. Сохраняет скрипт. Работает стабильно. Обычный хостинг сайтов, за вэб-сервером следит провайдер. Несколько раз менялся хостинг, проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:37 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovsoftwarerПротокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.И, кстати, замените фразу "HTTP протокол" на "реализация SQL-стандарта" И что? Если хотите, без проблем нагуглите на форуме моё мнение по поводу ANSI SQL. Например, я неоднократно писал про возможность написать на ANSI SQL скрипт, который, будучи выполнен на трёх реально существующих СУБД, даст три разных результата. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:37 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerЯ несколько лет не пользовался http-качалками, может, ситуация изменилась. Пока пользовался - не возвращавшие content-length наблюдал регулярноОно и сейчас может "регулярно наблюдаться". Просто потому, что очередной гений программирования решил самостоятельно формировать HTTP-заголовки. Я просто повторю, что это ни разу не проблема протокола - с дуру можно и дуб сломать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:39 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerИ что?При всех недостатках, обычно, не от SQL отказываются, а решают конкретные проблемы конкретной реализации. Причём по разному решают, т.к. серебряную пулю никто, вроде, не отлил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:41 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonКстати. Кто-нибудь использовал в своих задачах HTTP методы PUT, DELETE (не в Rest-сервисах а вообще) ? Вроде бы они по дефолту игнорируются вэб-серверами, т.к. это большая дыра: PUT my.php а потом GET my.php. Бинго :) По крайней мере из браузера HTML-формой PUT не пошлешь. Превращается в GET, только сервером или браузером - не разбирался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:45 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Dima TНе делая своей серверной части (сайта или веб-приложения) полноценный обмен файлами по HTTP просто невозможен. Классическая настройка безопасности сервера дает пользователю (под которым работает веб-сервер) права только чтения к папке сайта.Вот только не надо путать настройки веб-сервера и его доступ к файловой системе.Т.е. ни веб-сервер, ни скрипт им запущенный при всем желании файл не запишет. Поэтому HTTP не заточен на прием файлов серверомТо, что криворукие программисты не освоили POST - их личная проблема. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:46 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38757678&tid=1341200]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
142ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 207ms |
| total: | 444ms |

| 0 / 0 |
