In practice, content-length is less safe than multipart boundaries,
and usually slower: you have no way of guaranteeing that the content
won't change even if you *think* it is static, and if the content
is dynamically generated, you have to buffer the entire content
before issuing the content-length.
Of course, there are alternatives, e.g., a well known termination
string and a content encoding that guarantees the content doesn't
contain the termination string, or chunked encoding.
Larry
-- http://www.parc.xerox.com/masinter