The “magic” of streaming a 100GB raster from a browser is actually simple: byte offsets. A COG tells you exactly where the pixels you need live on disk. Then HTTP lets you ask for just those bytes.
Here’s the workflow:
Step 1: Fetch the header. Client requests bytes 0–16,384 (the Image File Directory). The server responds with HTTP 206 Partial Content. The client now has a map of where everything lives—”Tile 1 is at bytes 50,000–55,000. Tile 2 is at bytes 55,001–60,000.”
Step 2: Calculate offsets. The client (running GDAL, Leaflet, or Rio-Tiler) determines which tiles intersect the user’s viewport. It looks up their byte ranges in the IFD.
Step 3: Request tiles. The client sends a Range header: GET /image.tif Range: bytes=50000-55000. The server responds with HTTP 206 and exactly those 5,000 bytes. No unnecessary data. No special GIS server software needed—a standard web server or S3 bucket suffices.
The efficiency is brutal: fetching 1% of a file transfers 1% of the bytes. A 200KB request instead of 100GB.
The bottleneck isn’t bandwidth—it’s latency. Each HTTP request has overhead. The initial IFD fetch is the cost. Subsequent tile requests are fast if batched intelligently (fetch adjacent tiles in one request).
Standard HTTP/1.1 supports this. No GeoServer, no special protocols. Every CDN, S3, and web server implements Range Requests.
The rule: Latency kills performance, not bandwidth. Fetch fewer, larger chunks. Batch adjacent tile requests. One smart HTTP call beats 50 tiny ones.
Whenever you’re ready, here are 4 ways I can help you grow in GIS & spatial data:
Spatial Lab – My private community where GIS professionals, data engineers, and analysts connect, swap workflows, and build repeatable systems together.
Modern GIS Accelerator – A guided program to help you break out of legacy GIS habits and learn modern, scalable workflows.
Career Compass – A career-focused program designed to help GIS pros navigate the job market, sharpen their pitch, and find roles beyond traditional GIS paths.
Sponsorship: Interested in sponsoring this newsletter (or other content)? Learn more here and fill out the form to get in touch!


