GET-запросы обычно не имеют «тела» как часть, поэтому, как только вы прочитали заголовки HTTP-запроса, у вас есть все, поэтому нет необходимости в дополнительном коде, чтобы читать больше.
С другой стороны, запросы POST обычно имеют тело, поэтому после того, как вы получили заголовки, вам нужно прочитать тело.
К вашему сведению, TCP - это протокол потоковой передачи, что означает, что нет никаких гарантий относительно в каких порциях будут поступать данные. Даже сами заголовки могут приходить в виде нескольких пакетов. Но библиотека http, которую вы используете, уже позаботится об этом за вас. Он читает данные до тех пор, пока не соберет все заголовки. Чтение тела POST-запроса больше зависит от вас, если вы не используете какое-то промежуточное программное обеспечение для парсера тела, которое будет читать тело за вас.