По картинке выше - 2 сервера:
У front-end приоритет обработки Content-Length выше, чем Transfer-Encoding.
Для первого сервера это 1 валидный запрос, в теле которого
0
GET /xxx HTTP/1.1
Foo: x
У back-end приоритет наоборот, он обрабатывает этот запрос по Transfer-Encoding и для него получается 2 запроса
POST /
и
GET /xxx
причем так, что GET /xxx не завершен.
И любой следующий запрос клиента склеится с запросом GET /xxx и ему вернется ответ от /xxx