[quote]require the client to establish a completely new HTTP connection for every request[/quote]
Yes, like we did until very recently. However this would only be for the very large images. The smaller files are the ones that benefit most from keepalive techniques: the.js, .css, small layout images. They can still be sent on a single connection.
[quote]It will also break HTTP caching[/quote]
No, it won't. A cache that serves an incompletely downloaded file is already broken.
[quote]prevent the server from sending too many bytes, which will sit around in caches between the server and the client.[/quote]
That... is not how TCP works? The data that is sent to the client before the RST packet reaches the server will not "sit around". It will get delivered and dropped by the client.