знает. Вопрос может быть глупым, но я не очень понимаю. Почему когда мы делаем апи, которая будет обращаться к бд, то используем http, а не голый tcp?
зачем ты используешь плюсы, если можешь на ассемблере херячить?
когда всё, что умеешь использовать, - это молоток, очень много проблем кажутся гвоздями
Можешь grpc использовать, разрешаю
А кто сказал что нужно обязательно делать через http? До 2011 года браузеры и вправду не поддерживали ничего кроме http но с тех пор появились вебсокеты (по сути это читый tcp-поток поверх которого пересылаются сообщения к которым прикрепляется хедер с размером и парочкой флагов) и webrtc (p2p транспорт повех udp). Так что кроме http у нас есть еще 2 транспорта для общения браузера с сервером/бэкендом плюс недавно появился webtransport правда он еще не поддерживается в сафари
Веб сокеты это как бы продление http. И http не транспортный протокол.
нет, там только соединение по вебсокетам устанавливается через http а дальше пересылка сообщений по этому соединению происходит уже поверх голого tcp-потока без участия http
Но факт что без http никак
разве? Общего ж между ними ничего нет
между хттп и вебсокетами, очевидно
И? Я сказал что сокеты - это продление http сессии.
на самом деле тебе не нужен полноценный парсер http протокола для того чтобы установить соединение по вебсокетам. Ты можешь на сервере создать тсп сервер и после открытия соединения в полученной от браузера порции данных регуляркой найти значение специального http-заголовка и дальше нужно записать в поток строку с результатом хеширования этого значения со специальной константой. После этого вебсокет-соединение между браузером и сервером считается установленным и можешь дальше использовать его как чистый тсп-поток просто снабжая каждое соединение специальным хедером где будет указан размер и пара флагов (согласно формату вебсокет-фреймов). В общем вебсокеты это настолько простой протокол поверх tcp что его структуру его фреймвов объясняют даже на сайтах для изучения жс - https://learn.javascript.ru/websockets
Обсуждают сегодня