In genere con http 1.1 se non si conosce a priori la lunghezza del contenuto da inviare si usa il CHUNKING ENCODING.

Praticamente la pagina viene spezzata in Chunk (pezzi) di lunghezza nota. A livello locale il server avrà un buffer in cui memorizzerà la pagina che mano a mano crea ed invierà un chunk dopo l'altro.

Per info cerca Chunked Transfer Coding nel protocollo

RFC 2616 paragrafo 3.6.1

ftp://ftp.rfc-editor.org/in-notes/rfc2616.txt