У меня есть сервер spring webFlux, и я не активировал для него SSL, и он использует HTTP/1.1 для запроса соединения. с другой стороны, написал Spring WebClient в другом приложении, которое отлично вызывает этот сервер и получает потоковые данные в качестве ответа. но проблема в том, что я прочитал, что протокол http/1.1 не предназначен для потоковой передачи и используется для простого соединения запроса и ответа, а для потоковой передачи можно использовать HTTP/2. Мне было интересно, как весенний веб-клиент получает потоковые данные по протоколу http/1.1? и есть ли какой-либо другой клиент webFlux, который работает через http на других языках программирования? (кроме RSocket, который работает через TCP, WebSocket и UDP).
Когда вы ищете поддержку потоковой передачи и обратного давления, вы правы, HTTP 2.0 больше подходит. Особенно, если это для внутренней связи и у вас есть контроль над клиентами, настоятельно рекомендуется использовать механизмы HTTP 2.0/RSocket.
Что касается вопросов, то в HTTP 1.1 это можно сделать с помощью механизма Chunked Transfer Encoding (это стандартный механизм, более подробности можно посмотреть в сети)
Кодирование групповой передачи — это механизм потоковой передачи данных, доступный в версии 1.1 протокола передачи гипертекста (HTTP). При групповом кодировании передачи поток данных делится на серию неперекрывающихся «кусков». Фрагменты отправляются и принимаются независимо друг от друга. Ни отправителю, ни получателю в любой момент времени не требуется никаких сведений о потоке данных за пределами обрабатываемого в данный момент фрагмента.
Реализация Spring Webflux HTTP 1.1 будет иметь свои нюансы с точки зрения реализации механизма.
@MinaKh: это должен быть любой клиент с http 1.1 (постоянное соединение, поддержка активности является стандартной). Специально не проверял.
значит ли это, что мы можем вызывать spring web-flux через http/1.1 на любом языке, используя кодировку передачи по частям, или spring web-flux использует настраиваемую реализацию этой кодировки, и только определенные клиенты могут ее вызывать?