Parallel streaming of progressive images
Progressive JPEG images contain exactly the same data as baseline images, merely reshuffled in a more useful order, so progressive rendering doesn’t add any cost to the file size. When the server sends image files naïvely, one after another, the progressive rendering doesn’t help that much, because overall the images still load sequentially:
Having complete data for half of the images (and no data for the other half) doesn’t look as good as having half of the data for all images. The priority changes within each file, and dynamic re-prioritization gives us the behavior we want:
Knowing the exact amount of data to send in each phase requires understanding the structure of image files, but it seemed weird to us to make our web server parse image responses and have a format-specific behavior hardcoded at a protocol level.
Source: blog.cloudflare.com