I often wonder if people have forgotten that you can send information through the internet without HTTP(S)
If you ever want to implement a protocol in the browser it has to be on top of HTTP, WebSocket, WebRTC, WebTransport, etc.
Since others starting intercepting and eavesdrop on non-authenticated traffic, it got a lot less comfy to do so though. It's not like people are adding encryption to stuff for the fun of it.
I assume for anything else someone will run into firewall/proxy issues.
You can, but every non web protocol would need the user to install a binary. This is gated by Microsoft, Google and Apple today.