A
valid Content-Length field value is required on all HTTP/1.1 request
messages containing an entity body.
Not so if the entity body uses Transfer-Encoding: chunked.
Perhaps we should say:
HTTP/1.1 request messages that contain an entity body MUST contain
either a valid Content-Length field value or a Transfer-Encoding: chunked
entity header and a chunked entity body.
Dave Kristol