why websockets and not just SSE + XHR? Or even just XHR
Edit: SSE*
Edit: SSE*
If you mean SSE, then yes that would work just as well (unless you need the bidirectionality for the client to modify some aspect of the connection after the page has loaded). There is an htmx-sse extension too.
I'm not sure how XHR alone would let you automatically get backend state changes reflected to the frontend. You can poll one or more endpoint, but that's more complicated to get right and less efficient.
Yes, that's basically the idea.
Long polling.
Check out (history of) "Comet": https://en.wikipedia.org/wiki/Comet_(programming)#Implementa...
Also writing a client ontop of an existing HTML client is very very easy so even when not on web it's east to implement...