I believe you want HTTP HEAD. It's defined to return the same response as a GET but without a body. You can therefore look at the Content-Length response header to see what actually issuing a GET will cost you.
The server should not return fuzzy content lengths: your client should have soft limit ranges rather than a single hard limit.
Of course, the server is not required to support HEAD, nor is it required to include Content-Length, which touches on your real complaint:
Programmers get to write programs the way they want to, and most of them don't share your value of preserving bandwidth and using progressive enhancement.
That is a relational and human problem. There is no technological solution to it.
The server should not return fuzzy content lengths: your client should have soft limit ranges rather than a single hard limit.
Of course, the server is not required to support HEAD, nor is it required to include Content-Length, which touches on your real complaint:
Programmers get to write programs the way they want to, and most of them don't share your value of preserving bandwidth and using progressive enhancement.
That is a relational and human problem. There is no technological solution to it.