HTTP POST: content-length header required?

44,863

Depends what you mean by optional. If you mean that you can just omit the header anytime you like then no, it is not optional. The HTTP spec has very specific rules when to use that header. There are different ways of sending the data if you don't know the length. Chunked encoding for example.

4.4 Message Length

Share:
44,863

Related videos on Youtube

Enrico 'nekrad' Weigelt
Author by

Enrico 'nekrad' Weigelt

Updated on January 27, 2020

Comments

  • Enrico 'nekrad' Weigelt
    Enrico 'nekrad' Weigelt over 4 years

    I'm currently trying to optimize http-based data transfer between several applications. Our current approach, downloading first and then creating the post-request, obviously add extra IO/memory load and latencies, which I'd like to circumvent.

    The core question of all:

    Is it required to send a "Content-Length" header in HTTP POST requests? IIRC, HTTP 2616 declares that it's optional, but I'm not sure how applications actually behave at this point.

  • Salar
    Salar over 8 years
    In brief, for POST requests one of content-length or transfer-encoding:chunked headers should be present.