Websockets are also on the far side of useless when it comes to streaming content the user is downloading. Javascript-filled pages are not the only clients of http.
It wouldn't be so bad, if web and application APIs made stream processing of messages possible. The protocol itself could handle streaming content just fine, or at least not worse than HTTP.
Web sockets have their own issues that can be/are implementation dependent.
For example, some websocket servers don't pass back errors to the client (AWS). That makes it quite difficult to, say, retry on the client side.
Chunked encoding is used by video players - so you can request X bytes of a video file. That means you don't have to download the whole file, and if the user closes the video you didn't waste bandwidth. There are likely more uses of it.
> Chunked encoding is used by video players - so you can request X bytes of a video file. That means you don't have to download the whole file, and if the user closes the video you didn't waste bandwidth. There are likely more uses of it.
Just a nitpick, but what you describe here is byte range requests. They can be used with or without chunked encoding, which is a separate thing.