Ковыряя ASP.NET проект я задумался, а как за кулисами реализуются интернет-потоки.
Скажем, контроллеры имеют метод в который можно передать поток байт и вызывающая сторона начнет их скачивать.
Браузер многократно посылается запрос на одну и ту же ссылку, запрашивая определенный Rangeчерез заголовок?
Язык меня особо не интересует, так как реализация там скорее всего будет +- идентичная.
Рещюмируя, вопросы по части взаимодействия вот такие:
P.S Я исходники .NET CORE стянул, что бы посмотреть реализацию, но пока руки не дошли. Быть может кто-то уже разбирал это и может на пальцах рассказать...
"За кулисами", если я правильно понял вопрос, это реализуется через Transfer-Encoding: chunked:
Chunked transfer encoding — механизм передачи данных в протоколе передачи гипертекста (HTTP), позволяющий надёжно доставлять данные от сервера клиенту (чаще всего клиентскому web-браузеру) без необходимости заранее знать точный размер всего тела HTTP-сообщения. Это достигается разбиением сообщения на небольшие части (chunks), а затем передачей каждой части с указанием только её размера (в шестнадцатеричном виде). Окончание передачи сообщения определяется наличием последней части с нулевой длиной. Такой механизм позволяет передать динамически сформированные объекты, для которых нельзя заранее определить размер. Он стал доступен только начиная с HTTP версии 1.1 (HTTP/1.1).
Без механизма сhunked transfer encoding с каждым HTTP-пакетом необходимо указывать заголовок Content-Length, чтобы клиент мог найти конец передаваемого сообщения.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости