powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Нужно ли проверять checksum файла, переданного по сети?
25 сообщений из 131, страница 3 из 6
Нужно ли проверять checksum файла, переданного по сети?
    #38757632
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКонтролируемой, я так понимаю; у него нет или во всяком случае не заявлено задачи работать с произвольными отправителями-получателями за всякими заборами и интернетами. Поэтому не думаю, что подобные ограничения должны существенно влиять на его выбор.
Обратного тоже не заявлено. К чему вообще эта попытка думать за ТС? Я просто поправил утверждение что нат мешает работе FTP. Он не мешает. Запреты на файрволе решаются админом который их поставил.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757637
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerDima Tпропущено...

Есть пассивный режим, прекрасно пропускается натом, но не файрволами с кучей запретов исходящих соединений по номерам портов.
Напомню, что топикстартер ищет способ передать файл по сети. Контролируемой, я так понимаю; у него нет или во всяком случае не заявлено задачи работать с произвольными отправителями-получателями за всякими заборами и интернетами. Поэтому не думаю, что подобные ограничения должны существенно влиять на его выбор.
Вспомните. Любые it-работы на аутстафах, конмадировках, выездах к заказчику
начинаются с того что вы распаковываете ноут. Включаете. И вопрошаете:
- А где у васт тут паблик FTP-шничек с дистрами дровами и прочим?
Вам отвечают.
- А вот тут дескыть на xxx.xxx.xxx.xxx. Логин анонимос пароль - пустой.
Profit.

Ничего практичнее еще не было придумано.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757642
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerА за этим делом откройте RFC и прочитайте, что в случае http с ненулевой вероятностью вообще не удастся определить, передан ли файл до конца или оборван на середине. Пользователи всяких качалок типа ReGet-а хорошо помнят такие проблемы.Качалки, которые не в состоянии определить допустимость многопоточного скачивания, никак не могут быть проблемой протокола.

P.S. Когда меня запарила работа ftp, на который приходилось выгружать дампы базы для анализа разработчиками, я начал выкладывать их на нашем сайте и передавать коротенькое:
Код: plaintext
1.
2.
3.
4.
--ГГГГ-ММ-ДД ЧЧ:ММ:СС --   http://сайт/ресурс 
  Last-Modified: дата-архива
   Content-Length: ########## 
Length: ########## (#.#G)
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757653
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovКачалки, которые не в состоянии определить допустимость многопоточного скачивания, никак не могут быть проблемой протокола
Многопоточность тут не при чём. Проблемой протокола является допустимость молчаливого завершения сеанса как признака успеха. И оверхед в 25% тоже является не то чтобы проблемой, но недостатком протокола.

Basil A. Sidorovя начал выкладывать их на нашем сайте и передавать коротенькое:
Угу :) То есть фактически начали руками закрывать дырку :)
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757678
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПроблемой протокола является допустимость молчаливого завершения сеанса как признака успеха.
Допустимо, но так же допустимо серверу при отправке указать в HTTP-заголовке размер передаваемых данных. Тогда клиент проконтролирует размер принятого и сделает вывод: успех или обрыв.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757689
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TДопустимо, но так же допустимо серверу при отправке указать в HTTP-заголовке размер передаваемых данных.
Именно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают. Писать руками свою реализацию http меня как-то ломает, а рисковать тем, что в результате обновления библиотеки или перехода на другой веб-сервер или чего-то подобного приложение вдруг начнёт пропускать сломанные файлы - я бы не стал.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757697
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerМногопоточность тут не при чём. Проблемой протокола является допустимость молчаливого завершения сеанса как признака успехаТолько в отсутствии заголовка Content-Length.
Но, опять-таки, если качалка не отличает штатное и нештатное закрытие сокета - это не проблемы протокола.
Даже если передача потоковая - существует Content-Range, который может использоваться как самостоятельно, так и в комбинации с Content-Length.И оверхед в 25% тоже является не то чтобы проблемой, но недостатком протоколаКак вы собрались получить хоть процент накладных расходов на передаче хоть сколько-нибудь крупных файлов?Угу :) То есть фактически начали руками закрывать дырку :)Какую дырку? Мне в любом случае требовалось сообщать где лежит файл, как он называется и какой у него размер.

P.S. Единственное преимущество ftp - существование "стандартного ftp-клиента".
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757706
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerИменно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают.Вы опять путаете протокол с кривыми веб-приложениями.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757725
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerDima TДопустимо, но так же допустимо серверу при отправке указать в HTTP-заголовке размер передаваемых данных.
Именно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают. Писать руками свою реализацию http меня как-то ломает, а рисковать тем, что в результате обновления библиотеки или перехода на другой веб-сервер или чего-то подобного приложение вдруг начнёт пропускать сломанные файлы - я бы не стал.
Не надо писать свою реализацию. Просто HTTP не заточен на работу с файлами, точнее если качать именно файл GET запросом, то размер в заголовке будет, а если на стороне сервера не реальный файл, а результат работы скрипта выдаваемый за файл, то сервер размер не добавит в заголовок (он его не знает), скрипт должен сам об этом позаботится раз эмулирует передачу файла. Скрипт - творчество разработчика конкретного сайта.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757734
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovP.S. Когда меня запарила работа ftp, на который приходилось выгружать дампы базы для анализа разработчиками, я начал выкладывать их на нашем сайте и передавать коротенькое:
Код: plaintext
1.
2.
3.
4.
--ГГГГ-ММ-ДД ЧЧ:ММ:СС --   http://сайт/ресурс 
  Last-Modified: дата-архива
   Content-Length: ########## 
Length: ########## (#.#G)

А разве нельзя было уведомлять разработчиков об изменении дампа по почте?
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757753
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА разве нельзя было уведомлять разработчиков об изменении дампа по почте?У разработчика есть, условно говоря, баг-трекер.
У нас возникает проблема, мы её смотрим, сообщаем всю необходимую информацию и получаем ответ: "Нужен дамп".
При этом в работе может находится ещё пара-тройка инцидентов с таким же первоначальным откликом.
Об изменении какого дампа мы должны уведомить разработчика? И почему мылом? И даже если уведомить - почему я должен присылать листинг ftp-каталога вместо http-ссылки?
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757760
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonА разве нельзя было уведомлять разработчиков об изменении дампа по почте?
Можно, но так удобнее. Я также делаю. Залил на свой FTP и кинул в аську http-ссылку. Тем более что основная часть переписки в аське.

Да и почта нынче очень ненадежный канал из-за всяких-разных вирусо-, спамо-анализаторов и прочих самодельных правил фильтрации, в т.ч. по размеру. Попробуй отправь EXE на ящик @gmail.com Получится только в архиве и с паролем. Тоже самое у некоторых есть в корпоративной почте.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757764
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsoftwarerИменно что "допустимо", а не "обязательно". В результате чего регулярно попадаются реализации, которые этого не делают.Вы опять путаете протокол с кривыми веб-приложениями.
Не путаю. Протокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757776
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати. Кто-нибудь использовал в своих задачах HTTP методы PUT, DELETE (не в Rest-сервисах а вообще) ?
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757788
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerНе путаю. Протокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.Поскольку альтернативой http выставляется ftp, то о динамическом контенте речи, наверное, не будет?
А если не будет, то и Apache httpd и Apache Tomcat формируют Content-Length для статического контента без дополнительного участия горе-программиста. Насколько я могу судить по документации nginx - он делает точно так же.
IIS, в последнее время как-то не попадался, но "меня опять терзают смутные сомнения", что и он делает точно также.
Кривые http-серверы, безусловно существуют и лично я даже читал о проблеме работы одной такой поделки и тогда же продемонстрировал, что у индейца нет "этой странной проблемы". Вот буквально за четверть часа собрал то, что не работало у вопрошавшего и выложил лог успешной работы клиента.
Т.е. ваш пример из серии: "А что будет, если и клиент и сервер находятся за NAT-ами, которые не имеют поддержки FTP?".
Да, такие ситуации бывают и мне даже доводилось на них попадать, но к технологии это никак не относится. Это относится к вполне конкретному рукопопию.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757791
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКто-нибудь использовал в своих задачах HTTP методы PUT, DELETEТолько CONNECT в виде (готовой) реализации socks-прокси. Но это было лет десять назад.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757793
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так что? FTP рулит. FTP+текстовый файлик с MD5 решает все проблемы индейцев.

И топик можно закрыть.
(Шутка)
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757801
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovПоскольку альтернативой http выставляется ftp, то о динамическом контенте речи, наверное, не будет?
По сути - нет, ТС хотел отправлять файл. По форме - хз, я встречал случаи, когда статический контент в силу неких соображений изображали "псевдодинамическим".

Basil A. SidorovА если не будет, то и Apache httpd и Apache Tomcat формируют Content-Length для статического контента без дополнительного участия горе-программиста. Насколько я могу судить по документации nginx - он делает точно так же.
Я несколько лет не пользовался http-качалками, может, ситуация изменилась. Пока пользовался - не возвращавшие content-length наблюдал регулярно. Конкретными софтинами и версиями не интересовался. Факт в том, что либо нужно лезть в исходники чужой софтины и чётко проверять, что "точно всегда", либо есть шанс, что в какой-то момент оно тихо уйдёт. Ну например - просто от балды - если файлы переедут на сетевой диск. И никто не заметит, пока не грянет. А при обновлении версий итп риск соответственно растёт.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757802
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПротокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.И, кстати, замените фразу "HTTP протокол" на "реализация SQL-стандарта"
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757805
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerПротокол допускает кривые реализации, и это именно его недостаток.
Не делая своей серверной части (сайта или веб-приложения) полноценный обмен файлами по HTTP просто невозможен. Классическая настройка безопасности сервера дает пользователю (под которым работает веб-сервер) права только чтения к папке сайта. Т.е. ни веб-сервер, ни скрипт им запущенный при всем желании файл не запишет. Поэтому HTTP не заточен на прием файлов сервером (чтобы они были именно файлами на сервере). Поэтому содержимое файлов заливаются в БД, а потом идет эмуляция скачивания файла. Ну а кривая эмуляция это не кривой веб-сервер.

У меня есть такой http-файлообменник. Лично я сделал сохранение файлов как файлов, дал права записи на папку. Сохраняет скрипт. Работает стабильно. Обычный хостинг сайтов, за вэб-сервером следит провайдер. Несколько раз менялся хостинг, проблем нет.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757806
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. SidorovsoftwarerПротокол допускает кривые реализации, и это именно его недостаток. Кривые реализации регулярно встречаются, это реальная проблема. Из-за этой проблемы я не стал бы выбирать HTTP, поскольку решение получается не слишком надёжным.И, кстати, замените фразу "HTTP протокол" на "реализация SQL-стандарта"
И что? Если хотите, без проблем нагуглите на форуме моё мнение по поводу ANSI SQL. Например, я неоднократно писал про возможность написать на ANSI SQL скрипт, который, будучи выполнен на трёх реально существующих СУБД, даст три разных результата.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757808
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerЯ несколько лет не пользовался http-качалками, может, ситуация изменилась. Пока пользовался - не возвращавшие content-length наблюдал регулярноОно и сейчас может "регулярно наблюдаться". Просто потому, что очередной гений программирования решил самостоятельно формировать HTTP-заголовки.
Я просто повторю, что это ни разу не проблема протокола - с дуру можно и дуб сломать.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757814
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerИ что?При всех недостатках, обычно, не от SQL отказываются, а решают конкретные проблемы конкретной реализации. Причём по разному решают, т.к. серебряную пулю никто, вроде, не отлил.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757827
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКстати. Кто-нибудь использовал в своих задачах HTTP методы PUT, DELETE (не в Rest-сервисах а вообще) ?
Вроде бы они по дефолту игнорируются вэб-серверами, т.к. это большая дыра: PUT my.php а потом GET my.php. Бинго :)
По крайней мере из браузера HTML-формой PUT не пошлешь. Превращается в GET, только сервером или браузером - не разбирался.
...
Рейтинг: 0 / 0
Нужно ли проверять checksum файла, переданного по сети?
    #38757829
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TНе делая своей серверной части (сайта или веб-приложения) полноценный обмен файлами по HTTP просто невозможен. Классическая настройка безопасности сервера дает пользователю (под которым работает веб-сервер) права только чтения к папке сайта.Вот только не надо путать настройки веб-сервера и его доступ к файловой системе.Т.е. ни веб-сервер, ни скрипт им запущенный при всем желании файл не запишет. Поэтому HTTP не заточен на прием файлов серверомТо, что криворукие программисты не освоили POST - их личная проблема.
...
Рейтинг: 0 / 0
25 сообщений из 131, страница 3 из 6
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Нужно ли проверять checksum файла, переданного по сети?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]