Content-Length 헤던느 메시지의 엔터티 본문의 크기를 바이트 단위로 나타낸다. 어떻게 인코딩 되었든 상관없이 크기를 표현할 수 있다. (만약, gzip으로 압축되었다면 원본크기가 아니라 압축된 후의 크기다)

Content-Length 헤더는 메시지를 chunked 인코딩으로 전송하지 않는 이상, 엔터티 본문을 포함한 메시지에서는 필수적으로 있어야하는 정보다. 엔터티 길이 정보가 있어야 메시지가 중간에 잘렸는지 감지할 수 있고 지속 커넥션을 사용할 경우 각각 메시지들을 올바르게 구분이 가능하다.

15.2.1 잘림 검출

데이터를 전송 중 커넥션이 종료되었을때 Content-Length 정보가 없다면, 상대방이 데이터를 다 보내서 닫은 것인지 아니면 전송 중에 문제가 생겨서 닫힌 것인지 구분할 수 없다.

15.2.2 잘못된 Content-Length

Content-Length가 잘못된 길이 정보를 제공할 경우 아예 Content-Length가 없는 것보다 더 큰 문제를 일으킬 수 있다. 지속 커넥션에서 메시지를 잘못 구분하는 등의 문제가 생길 수 있다.

15.2.3 Content-Length와 지속 커넥션

Content-Length는 지속 커넥션 환경에서는 필수다. 지속 커넥션을 사용하게 되면 HTTP 메시지들이 연속으로 오게 될텐데, 길이 정보가 없다면 어디가 끝인지 어디가 시작인지 구분을 할 수 없게된다.

15.2.4 컨텐츠 인코딩

만약 메시지가 압축되어 있다면 Content-Length는 압축인코딩 이후의 길이 정보를 제공해야한다.