|
|
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПри всех недостатках, обычно, не от SQL отказываются, а решают конкретные проблемы конкретной реализации. Отказываются от ANSI SQL и работают на конкретной, хорошо и чётко специфицированной реализации. Именно так. Разница здесь в том, что потребовать "база Oracle таких-то версий" в общем нетрудно, а вот надеяться на то, что HTTP будет реализации именно "Apache 2.2" я бы не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:48 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovТ.е. ни веб-сервер, ни скрипт им запущенный при всем желании файл не запишет. Поэтому HTTP не заточен на прием файлов серверомТо, что криворукие программисты не освоили POST - их личная проблема. Не думаю что POST является эквивалентом PUT. По крайней мере POST предполагает "логику" обработки (трансформации) пересылаемых данных на сервере (формочка). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 16:54 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonНе думаю что POST является эквивалентом PUTМетод POST может быть эквивалентом PUT, эквивалентом GET и вообще чего угодно.По крайней мере POST предполагает "логику" обработки (трансформации) пересылаемых данных на сервере (формочка).Есть такая логическая ошибка, как преждевременное обобщение. Выгрузка файлов через форму в браузере - стандарт для другой стороны. Да, требующий определённой поддержки на стороне сервера. И, да - использующий метод POST. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:01 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerBasil A. SidorovА если не будет, то и Apache httpd и Apache Tomcat формируют Content-Length для статического контента без дополнительного участия горе-программиста. Насколько я могу судить по документации nginx - он делает точно так же. Я несколько лет не пользовался http-качалками, может, ситуация изменилась. Пока пользовался - не возвращавшие content-length наблюдал регулярно. Конкретными софтинами и версиями не интересовался. Факт в том, что либо нужно лезть в исходники чужой софтины и чётко проверять, что "точно всегда", либо есть шанс, что в какой-то момент оно тихо уйдёт. Ну например - просто от балды - если файлы переедут на сетевой диск. И никто не заметит, пока не грянет. А при обновлении версий итп риск соответственно растёт. Наверное вся беда в том что Content-Length является опциональным атрибутом. Если он есть - хорошо. Нет - тоже ладненько. А качалки да.... помню. Как-же. Правда в последнее время интернеты стали быстрее раз в 10-100. Обычное качание браузером с опенсорцных порталов вполне себе быстро. Скачал zip. Прочекал zip-средствами. Вроде всё ОК. А всякий контрафакт качаю из русских торрентов. Настала эпоха Торов, Пир-2-пиров и прочих протоколов самообнаружения контента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:02 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmaytonНе думаю что POST является эквивалентом PUTМетод POST может быть эквивалентом PUT, эквивалентом GET и вообще чего угодно.По крайней мере POST предполагает "логику" обработки (трансформации) пересылаемых данных на сервере (формочка).Есть такая логическая ошибка, как преждевременное обобщение. Выгрузка файлов через форму в браузере - стандарт для другой стороны. Да, требующий определённой поддержки на стороне сервера. И, да - использующий метод POST. Избыточно как-то. Всё равно http проигрывает ФТП в плане простоты файлообмена. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:04 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerРазница здесь в том, что потребовать "база Oracle таких-то версий" в общем нетрудно, а вот надеяться на то, что HTTP будет реализации именно "Apache 2.2" я бы не стал.Там, где можно потребовать версию СУБД ничуть не сложнее потребовать и версию сайта. Но дело даже не в этом. Проблемы, на которые вы ссылаетесь, могут быть только проблемой "реально наколенной поделки". С таким же успехом вы можете наткнуться на горе-админа у которого "oracle по утрам не откликается". Только с вероятностью на порядок большей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:05 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovDima TНе делая своей серверной части (сайта или веб-приложения) полноценный обмен файлами по HTTP просто невозможен. Классическая настройка безопасности сервера дает пользователю (под которым работает веб-сервер) права только чтения к папке сайта.Вот только не надо путать настройки веб-сервера и его доступ к файловой системе. Я писал про те настройки прав которые обычно делаются по дефолту на хостингах сайтов. Basil A. SidorovТ.е. ни веб-сервер, ни скрипт им запущенный при всем желании файл не запишет. Поэтому HTTP не заточен на прием файлов серверомТо, что криворукие программисты не освоили POST - их личная проблема. Поделись выпрямителем :) Как используя только POST и свой скрипт на стороне сервера сохранить файл на сервере так чтобы затем его скачать GETом? Чтобы файл реально появился и его было видно в т.ч. по FTP. На стандартном unix-хостинге сайтов, которых полно предлагается сегодня. Виндовых не надо, возможно там это можно, не сталкивался. Вариант: зайти по FTP и дать права на запись в папку не использовать. Его я знаю, и при переезде сайта каждый раз забываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:06 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovПроблемы, на которые вы ссылаетесь, могут быть только проблемой "реально наколенной поделки". Не думаю. У меня ведь не было задачи искать такие поделки, я просто качал нужные мне файлы с самых обычных сайтов в интернете. Крайне сомневаюсь, что каждый, допустим, пятнадцатый сайт крутится на "реально наколеночной поделке", это статистически невероятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:09 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonИзбыточно как-тоЧто значит избыточно??? Стандарту сто лет в обед, реализован во всех браузера и, надо полагать, во всём, что используется для веб-программирования на стороне сервера.Всё равно http проигрывает ФТП в плане простоты файлообмена.FTP выигрывает только наличием "стандартного клиента". Но было бы странно ожидать иного от протокола, реализующего одну-единственную задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:10 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmaytonИзбыточно как-тоЧто значит избыточно??? Стандарту сто лет в обед, реализован во всех браузера и, надо полагать, во всём, что используется для веб-программирования на стороне сервера.Всё равно http проигрывает ФТП в плане простоты файлообмена.FTP выигрывает только наличием "стандартного клиента". Но было бы странно ожидать иного от протокола, реализующего одну-единственную задачу. Давай вернёмся в топику. Автор ищет способы как "передать файлы" по сети. Я ему предлагаю серебрянную пулю. FTP. Дешево. Сердито. В 99.9 случаев работает. Вопросы файрвольности и безопасности пока не рассматриваем. Ведь автор об этом не говорит. Его интересует пока только надёжность. Надёжно? Надежно. Оборвалось соединение? Есть докачка. Клиентов полно. Симметричность. ФТП может как принимать так и отдавать контент. Лаконичность. Я вижу только файлы и каталоги. Без рекламы и джава скриптов. А принять контент в HTTP на уровне протокола по дефолту - никак. Не заложены возможности приёма. Кодить надо. Писать свои CGI скриптики. Со всеми вытекающими. PUT по дефолту заблочен как мы выяснили. Разблочить надо. Да и разблочив еще поискать клиента. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:16 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Dima TПоделись выпрямителем :)Для Java называется servlet-api. Требует вдумчивого изучения RFC, документации конкретного сервлет-контейнера и админки хостера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:16 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonИзбыточно как-то. Всё равно http проигрывает ФТП в плане простоты файлообмена. Проигрывает до тех пор пока не захочешь реализовать что-нибудь нестандартное. Например отправитель кроме выкладки файла задает его получателей. В случае с FTP придется завести каждому по папке и при передаче положить каждому по копии файла. В HTTP достаточно сохранить один файл и сделать в базе запись что получатель должен скачать такой-то файл, а при входе получателя - показать все что ему предназначается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:16 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovDima TПоделись выпрямителем :)Для Java называется servlet-api. Требует вдумчивого изучения RFC, документации конкретного сервлет-контейнера и админки хостера. Админку хостера исключаем, т.к. это тоже самое что по FTP зайти фарой и галку поставить. Пример на Java можно? Хоть я его и не знаю, но думаю осилю портирование на PHP. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:23 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
DymytryЕсть задача: передать файл по сети. Есть выбор протоколов для этого: plain TCP, SSH, FTP, HTTP итд Многие из этих протоколов реализуют разные проверки на правильность передачи данных. Например TCP проверяет checksum пакетов, SSH вычисляет hash. Вопросы: 1) каким способом передать файл наиболее надежно по критерию целостности файла 2) каким способом передать файл наиболее быстро 3) нужно ли проверять md5/checksum своим кодом ? 1) SSH File Transfer Protocol (SFTP) Проерять ничего не надо, целостность и безопасность гарантируются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:31 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonА принять контент в HTTP на уровне протокола по дефолту - никак.Я вас умоляю ... В рамках Servlet API: Код: java 1. 2. 3. Всё - поток данных от клиента вам доступен и вы можете делать с ним всё, что угодно. От записи в dev/nul до эзотерических трансформаций. Для разбора форм есть Apache commons-fileupload, если уж приспичило делать вариант, совместимый с браузером.Да и разблочив еще поискать клиента. wput , браузер, да хоть ab из комплекта всё того же Apache httpd. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:32 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Dima TПример на Java можно? Хоть я его и не знаю, но думаю осилю портирование на PHP.Смысл? На PHP, которого я не знаю, есть всё, что вам нужно. Только API другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:33 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonДавай вернёмся в топику. Автор ищет способы как "передать файлы" по сети. Я ему предлагаю серебрянную пулю. FTP. Дешево. Сердито. В 99.9 случаев работает. Вопросы файрвольности и безопасности пока не рассматриваем. Автор много не договаривает. Например где он хочет разместить FTP-сервер? за натом нельзя, из-за ната только FTP-клиент может работать. Получается нужен хостинг, т.е. уже не дешево, т.е. не бесплатно. HTTP сервер можно за нат поселить и порт замапить. т.е. размещение бесплатно. PS Автор пропал уже давно, надо сворачивать писькомерянье ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:33 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovmaytonА принять контент в HTTP на уровне протокола по дефолту - никак.Я вас умоляю ... В рамках Servlet API: Код: java 1. 2. 3. Всё - поток данных от клиента вам доступен и вы можете делать с ним всё, что угодно. От записи в dev/nul до эзотерических трансформаций. Для разбора форм есть Apache commons-fileupload, если уж приспичило делать вариант, совместимый с браузером.Да и разблочив еще поискать клиента. wput , браузер, да хоть ab из комплекта всё того же Apache httpd. Ну екарный пельмень! Это решение связано с разработкой! Разработкой ПО. Здесь уже планка требований поднята. Хотя-бы тем что нужно ставить джаву и сервлет-контейнер! Эх вы... Как мои студенты. Еще-бы Spring фреймворк предложили. Я ищу простых решений. Как угол дома. Я-то жду. Думаю кто-то вспомнить что еще есть NetCat... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:41 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovВсё - поток данных от клиента вам доступен и вы можете делать с ним всё, что угодно. От записи в dev/nul до эзотерических трансформаций. В PHP он тоже доступен. Там это содержимое переменной. Суть в том что я не могу создать файл чтобы записать туда это содержимое, т.к. таковы дефолтные настройки прав доступа к файловой системе. Надо просто их предварительно поменять, т.е. дать права на запись. Заходим фаром по FTP, встаем на папку, Ctrl+A и доставляем недостающие галки. Может на Java-хостингах по другому принято права доступа настраивать, как на PHP+MySQL. Проехали. Мир. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:42 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
softwarerНе думаю. У меня ведь не было задачи искать такие поделки, я просто качал нужные мне файлы с самых обычных сайтов в интернете.И я не думаю. Я знаю. Просто потому, что было время, когда я целенаправленно разбирался с HTTP. Не могу сказать, чтобы все полученные знания мне пригодились, но проблемы, с которыми вы сталкивались не имеют ни малейшего отношения к проблемам самого протокола. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:43 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
maytonНу екарный пельмень! Это решение связано с разработкой! Разработкой ПО. Здесь уже планка требований поднята. Хотя-бы тем что нужно ставить джаву и сервлет-контейнер!Самое несложное из того, что требуется для разработки. Даже если использовать громкое слово "ставить". Поймите правильно - я не против FTP. Если нужно решить единственную задачу, у вас есть готовый FTP и вы доверяете квалификации людей, которые его администрируют - не надо никуда дёргаться. Но я категорически против утверждения, что "FTP лучше HTTP". Хотя бы потому, что FTP - протокол прикладного уровня, а HTTP - транспортного. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:48 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
А автору какая разница. Почитал наш топик. Погоревал. Поплакал. Плюнул и записал файл на CD-R и отправил почтой. Ямщиком. На лошадях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:53 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovНе могу сказать, чтобы все полученные знания мне пригодились, но проблемы, с которыми вы сталкивались не имеют ни малейшего отношения к проблемам самого протокола. Судя по всему, у нас разное понимание, что такое "проблемы протокола". Протокол HTTP для хорошей работы в рамках задачи "передача файлов" нуждается в разумной и доброй воле разработчика инструментальных средств. Я полагаю это проблемой протокола и считаю, что было бы куда лучше, если бы разработчики хорошо специфицировали этот момент и не дали возможности сделать "по стандарту, но плохо". Вы полагаете это проблемой конкретных инструментальных средств. Ну, по аналогии, я полагаю, что ПДД должны запрещать ездить ночью без фар, а Вы считаете, что пусть разрешают - а вменяемые люди сами будут их включать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:54 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Лишить лицензий тех кто http-PUT не поддерживает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:57 |
|
||
|
Нужно ли проверять checksum файла, переданного по сети?
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovХотя бы потому, что FTP - протокол прикладного уровня, а HTTP - транспортного. Эмм... эта точка зрения как минимум не самая распространённая. Чаще принято считать, что транспортный уровень - это TCP, а FTP&HTTP - равно протоколы прикладного уровня. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 17:58 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38757925&tid=1341200]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
149ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 449ms |

| 0 / 0 |
