Le richieste HTTP hanno un corpo se hanno un'intestazione Content-Length o Transfer-Encoding ( RFC 2616 4.3 ). Se la richiesta non ha nessuno dei due, non ha corpo e il tuo server dovrebbe trattarla come tale.
Detto questo, è insolito che una richiesta PUT non abbia un corpo, quindi se stessi progettando un client che voleva davvero inviare un corpo vuoto, passerei Content-Length: 0. In effetti, a seconda della lettura del POST e le definizioni del metodo PUT ( RFC 2616 9.5, 9.6 ) si potrebbe sostenere che il corpo è implicitamente richiesto, ma un modo ragionevole per gestire nessun corpo sarebbe quello di assumere un corpo di lunghezza zero.