Альтернатива HTTP для передачи данных между программами
От: romakoma Интернет  
Дата: 02.01.21 12:48
Оценка:
Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.
www http
Re: Альтернатива HTTP для передачи данных между программами
От: GarryIV  
Дата: 02.01.21 13:16
Оценка:
Здравствуйте, romakoma, Вы писали:

R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.


Modbus TCP удволетворяет всем критериям, старый как говно мамонта и не имеет никакого отношения к JavaScript.
WBR, Igor Evgrafov
Re: Альтернатива HTTP для передачи данных между программами
От: vsb Казахстан  
Дата: 02.01.21 13:32
Оценка: +1
Ну очевидная альтернатива это любой свой протокол поверх TCP или UDP. Далее SCTP (over UDP). Ещё вроде кто-то использовал Apache ZeroMQ. Преимущество HTTP(S) в том, что он проходит через мифические корпоративные фаерволы, блокирующие остальной трафик. Других особых преимуществ у HTTP ИМХО нет, а те, что есть, компенсируются недостатками.
Отредактировано 02.01.2021 13:33 vsb . Предыдущая версия .
Re: Альтернатива HTTP для передачи данных между программами
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 02.01.21 14:22
Оценка: +1
Здравствуйте, romakoma, Вы писали:

R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.


А в какой среде и какие данные надо передавать? Это довольно критичный момент, т.к. HTTP это еще и проксирование и шифрование и т.д. Я так понимаю, что речь не про данные реального времени, тогда б потенциально поносили RTP... Ну а если речь про тот трафик, что принято гонять по HTTP, то можно же гонять не текст, а бинарные данные при помощи того-же Protobuf. Если речь про потоковые данные, то еще есть WebSockets, по которым так же можно гонять бинарные данные.
Re[2]: Альтернатива HTTP для передачи данных между программами
От: GarryIV  
Дата: 02.01.21 14:50
Оценка: 5 (1) +1
Здравствуйте, vsb, Вы писали:

vsb>Ну очевидная альтернатива это любой свой протокол поверх TCP или UDP. Далее SCTP (over UDP). Ещё вроде кто-то использовал Apache ZeroMQ. Преимущество HTTP(S) в том, что он проходит через мифические корпоративные фаерволы, блокирующие остальной трафик. Других особых преимуществ у HTTP ИМХО нет, а те, что есть, компенсируются недостатками.


бог с ними с "мифическими корпоративными фаерволами" но поддержка http в k8s, nginx, haproxy и еще 100500 библиотек и утилит совсем не мифическая.
если бы топик-стартер хоть какие то требования к протоколу описал кроме того что у него попоболь от жабаскрипта такая что он http кушать не может...
WBR, Igor Evgrafov
Re[2]: Альтернатива HTTP для передачи данных между программами
От: romakoma Интернет  
Дата: 02.01.21 16:07
Оценка:
С Android на VPS с Linux. Каталог товаров на продажу с регистрацией. Было бы идеально слать просто данные и функции к ним как есть. Просто пулять экзэмлярами классов и всё. Искал альтернативы HTTP и набрёл на

RDP provides packet-based applications like remote loading and debugging with an effective, trusted data-transport service. The main objective of RDP is to remain effective in environments where there could be non-sequential message-segment delivery or prolonged transmission delays and loss.



Но пишут что есть только какой–то прототип реализации.
rdp
Re[3]: Альтернатива HTTP для передачи данных между программами
От: Михaил  
Дата: 02.01.21 16:29
Оценка: +1
Здравствуйте, romakoma, Вы писали:

R>С Android на VPS с Linux. Каталог товаров на продажу с регистрацией. Было бы идеально слать просто данные и функции к ним как есть. Просто пулять экзэмлярами классов и всё. Искал альтернативы HTTP и набрёл на

R>

R>RDP provides packet-based applications like remote loading and debugging with an effective, trusted data-transport service. The main objective of RDP is to remain effective in environments where there could be non-sequential message-segment delivery or prolonged transmission delays and loss.

R>

R>Но пишут что есть только какой–то прототип реализации.


Помотри Google protobuf
Re: Альтернатива HTTP для передачи данных между программами
От: Reset  
Дата: 02.01.21 19:57
Оценка:
R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.

Жаль тебя разочаровывать, но настолько широко поддерживаемой альтернативы нет. Есть protobuf, cap'n'proto, FlatBuffers (еще убогий message pack), но это только способ сериализации данных с поддержкой версионирования (первые три). Но, таки, чтобы их передавать, потребуется городить свой протокол (перед передачей сообщения protobuf как минимум придется передать его тип и длину). Есть, конечно, grpc, но там тоже HTTP. Он встроен внутрь, ты его не видишь, а он есть!!!

Самая большая печаль, что щас стали модны разные микросервисы и облака для них (раньше облаками называли VPS). Так вот, там запросы нужно как-то прокидывать снаружи на микросервисные контейнеры. И там на ingress работает http прокси (nginx и другие), которые умеют...

Тадам... HTTP и, иногда, grpc (который тоже по сути http). Голый tcp (тем более udp) тебе никто прокидывать не будет (ну, или глядя на ценник, ты за 10% ценника наймешь фрилансера, который создаст тебе облако и будет доступен в телеграмме 24x7 со временем реакции 5 минут).

Так что между двумя своими хобби-проектами ты можешь использовать классику и гонять protobuf + префикс с типом и длинной (который, кстати, тоже обычно реализуют на protobuf, чтобы не возиться с остро/тупоконечностью чисел в сети). Захочешь чего-то более эффективного — cap'n'proto или FlatBuffers + префикс. Ну а если ты работаешь в госконторе — твой выбор ZeroMQ + message pack.

Однако, как только потребуется подключить что-то не свое или что-то снаружи — привет http или grpc (и если у тебя внутри реализован свой протокол на основе protobuf — выкручивайся проксями и другими костылями, скорее всего сам, если не найдешь студента-задрота, который поведется на обещание морковки в виде "интересного" проекта, и который за тебя будет заниматься занудством в виде написания/поддержки примитивной прокси, потому что какому-то герою-креативщику захотелось поиграться со своим протоколом без задней мысли о его развитии и поддержки).

Ну, все, я тебя предупредил.
Re[2]: Альтернатива HTTP для передачи данных между программами
От: ononim  
Дата: 02.01.21 20:40
Оценка: +3
vsb>Далее SCTP (over UDP).
Чой это он over UDP. Он совершенно самостоятельная сучность. Это QUIC — over UDP.
Как много веселых ребят, и все делают велосипед...
Re[3]: Альтернатива HTTP для передачи данных между программами
От: vsb Казахстан  
Дата: 03.01.21 01:50
Оценка:
Здравствуйте, ononim, Вы писали:

vsb>>Далее SCTP (over UDP).

O>Чой это он over UDP. Он совершенно самостоятельная сучность.

Потому, что на практике он далеко не уйдёт без инкапсуляции. И это уже не теория.

O>Это QUIC — over UDP.


rfc6951
Re[3]: Альтернатива HTTP для передачи данных между программами
От: kaa.python Ниоткуда РСДН профессионально мёртв и завален ватой.
Дата: 03.01.21 05:58
Оценка:
Здравствуйте, romakoma, Вы писали:

R>С Android на VPS с Linux. Каталог товаров на продажу с регистрацией. Было бы идеально слать просто данные и функции к ним как есть.


Тебе надо gRPC.
Re: Альтернатива HTTP для передачи данных между программами
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 03.01.21 09:26
Оценка:
Здравствуйте, romakoma, Вы писали:

R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.

ProtoBuf.
Sic luceat lux!
Re[4]: Альтернатива HTTP для передачи данных между программами
От: Kernan Ниоткуда https://rsdn.ru/forum/flame.politics/
Дата: 03.01.21 09:53
Оценка: +2
Здравствуйте, vsb, Вы писали:

vsb>Потому, что на практике он далеко не уйдёт без инкапсуляции. И это уже не теория.

Как раз похоже на теорию. SCTP это честный протокол транспортного уровня как и TCP/UDP. Если вы его в UDP заворачиваете, то это исключительно ваша шиза.
Sic luceat lux!
Re: Альтернатива HTTP для передачи данных между программами
От: Слава  
Дата: 03.01.21 13:24
Оценка:
Здравствуйте, romakoma, Вы писали:

R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.


Это не совсем ответ ваш вопрос, но я надеюсь, что вы это прочитаете. Юзера Sinclair стоит слушать:

Протокол HTTP
Отредактировано 03.01.2021 13:25 Слава . Предыдущая версия .
Re: Альтернатива HTTP для передачи данных между программами
От: Pavel Dvorkin Россия  
Дата: 03.01.21 14:25
Оценка:
Здравствуйте, romakoma, Вы писали:

R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.


https://thrift.apache.org/
https://ru.wikipedia.org/wiki/Apache_Thrift
With best regards
Pavel Dvorkin
Отредактировано 03.01.2021 14:30 Pavel Dvorkin . Предыдущая версия .
Re: Альтернатива HTTP для передачи данных между программами
От: Mr.Delphist  
Дата: 14.01.21 09:49
Оценка: +1
Здравствуйте, romakoma, Вы писали:

R>Пришёл к неутешительному выводу что HTTP является стандартом для обмена данными через Internet в независимости от того WWW или не WWW, гипертекст или не гипертекст. Интересует есть ли альтернатива и как было в старые добрые времена в мире без JavaScript и прочей мерзости.


Я один задаюсь вопросом "при чём тут JavaScript"? HTTP — это просто протокол верхнего уровня. Он не привязан в языку, можно спокойно пользоваться им в C#, Python, да хоть в Коболе, если соответствующие вспомогательные либы есть (или напедалить свой велосипед)

Главное достоинство HTTP — он узнаётся многими маршрутизаторами, проксями и прочими участниками сетевой инфраструктуры, что позволяет оптимизировать трафик оператору, и описывает правила игры программисту. Если делать свой протокол — всего этого лишаешься.
Re[3]: Альтернатива HTTP для передачи данных между программами
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.01.21 09:44
Оценка:
Здравствуйте, romakoma, Вы писали:

R>С Android на VPS с Linux. Каталог товаров на продажу с регистрацией. Было бы идеально слать просто данные и функции к ним как есть. Просто пулять экзэмлярами классов и всё.

HTTP — то, что доктор прописал. Джаваскрипт — не нужен. Не очень понятно, зачем вам там функции, но тем не менее.
HTTP сделает всё, что вам надо, и ещё тележку того, о чём вы сейчас забыли подумать. И всё это можно будет делать обратно совместимым образом.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Альтернатива HTTP для передачи данных между программами
От: romakoma Интернет  
Дата: 16.01.21 16:37
Оценка:
JavaScript я упомянул как выпад в сторону вэбщиков.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.