Recently I have been experimenting with http streaming and realized how it can improve page performance. If you come from the PHP world, you might know the command flush() . It immediately sends to the visitor what has been echoed to the buffer, and doesn't wait for the full page to be rendered on the server side. That allows the browser to start rendering the website before the whole document is rendered on the server and transferred. On the other hand, the usual Django HttpResponse renders the whole HTML document on the server first, and only then sends it to the visitor. So the initial HTML document rendering is always the bottleneck for the full page load. Here comes StreamingHttpResponse , which can be used to mimic what flush() does in PHP. HttpResponse vs.…