This last one isn't completely true. The request has to _either_ have a Content-Length _or_ be using chunked transfer encoding.