Obtendo resposta da solicitação http sem o tamanho do conteúdo?

Eu tenho um pequeno programa envia solicitação http e obtém resposta com o protocolo TCP.

Meu formato de solicitação;

GET / HTTP/1.0
Host: somewebsite.com
{two new line}

Eu li a resposta linha por linha do soquete (usando NetworkStream e StreamReader em c #) até encontrar o cabeçalho de comprimento de conteúdo. Eu armazeno o comprimento, depois continuo lendo até encontrar uma linha vazia. Em seguida, crie um buffer com o comprimento e receba o restante da resposta.

Mas algumas respostas não têm um cabeçalho de duração de conteúdo. Então minha abordagem falha. Se eu não sei quantos bytes devo receber, quando devo parar?