Searching at various web servers HTTP Headers, I observe that Google.com has:

client-transfer-encoding: "chunked"

What's chuncked transfer encoding and really should I be utilising it on my small web server?

Chunked may be used to send a HTTP request or response in multiple parts, and send one part while subsequent parts aren't available.

Multiple request--response pairs could be moved on the single HTTP connection. (This really is to prevent the overhead from the TCP connect() for subsequent demands.) To implement this, the customer must know in which the server response finishes. When the server creates the Content-Length header, the customer can count lower the bytes. When you will find no bytes left to see, the customer can initiate the following request. But exactly how would the server create the Content-Length header whether it does not know the size of the entire response ahead of time? The answer is by using chunked rather than Content-Length.

Apache (1.3 and a pair of), automatically, transmits static files as chunked whenever it seems sensible (and also the HTTP client supports it). It's not necessary to make any move. Should you write your personal web application, you may consider producing a chunked response manually.

See http://www.research.att.com/~bala/papers/h0vh1.html and http://developers.sun.com/mobility/midp/questions/chunking/ for a bit more.