170 похожих чатов

Всем привет, вопрос не по плюсам конкретно, но может кто

знает. Вопрос может быть глупым, но я не очень понимаю. Почему когда мы делаем апи, которая будет обращаться к бд, то используем http, а не голый tcp?

13 ответов

17 просмотров

зачем ты используешь плюсы, если можешь на ассемблере херячить?

когда всё, что умеешь использовать, - это молоток, очень много проблем кажутся гвоздями

Можешь grpc использовать, разрешаю

А кто сказал что нужно обязательно делать через http? До 2011 года браузеры и вправду не поддерживали ничего кроме http но с тех пор появились вебсокеты (по сути это читый tcp-поток поверх которого пересылаются сообщения к которым прикрепляется хедер с размером и парочкой флагов) и webrtc (p2p транспорт повех udp). Так что кроме http у нас есть еще 2 транспорта для общения браузера с сервером/бэкендом плюс недавно появился webtransport правда он еще не поддерживается в сафари

Богдан
А кто сказал что нужно обязательно делать через ht...

Веб сокеты это как бы продление http. И http не транспортный протокол.

Maus Grau
Веб сокеты это как бы продление http. И http не тр...

нет, там только соединение по вебсокетам устанавливается через http а дальше пересылка сообщений по этому соединению происходит уже поверх голого tcp-потока без участия http

Maus Grau
Между чем?

между хттп и вебсокетами, очевидно

Павλо 🇺🇦
между хттп и вебсокетами, очевидно

И? Я сказал что сокеты - это продление http сессии.

Maus Grau
Но факт что без http никак

на самом деле тебе не нужен полноценный парсер http протокола для того чтобы установить соединение по вебсокетам. Ты можешь на сервере создать тсп сервер и после открытия соединения в полученной от браузера порции данных регуляркой найти значение специального http-заголовка и дальше нужно записать в поток строку с результатом хеширования этого значения со специальной константой. После этого вебсокет-соединение между браузером и сервером считается установленным и можешь дальше использовать его как чистый тсп-поток просто снабжая каждое соединение специальным хедером где будет указан размер и пара флагов (согласно формату вебсокет-фреймов). В общем вебсокеты это настолько простой протокол поверх tcp что его структуру его фреймвов объясняют даже на сайтах для изучения жс - https://learn.javascript.ru/websockets

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
3
Карта сайта