🧢

Tag Archive for ‘Nathanial’

Why Your Website Should Be Under 14kB in Size ➝

Nathanial, with some interesting details about the TCP protocol:

TCP slow start is an algorithm used by servers to find out how many packets it can send at a time.

When a browser first makes a connection to your server — the server has no way of knowing the amount of bandwidth between them. […]

Your server doesn’t know how much data the connection can handle — so it starts by sending you a small and safe amount of data — usually 10 TCP packets.

If those packets successfully reach your site’s visitor, their computer sends back an acknowledgement (ACK) saying the packets have been received.

Your server then sends more data back, but this time it doubles the amount of packets.

This process is repeated until packets are lost and your server doesn’t receive an ACK. (At which point the server continues to send packets but at a slower rate).

That’s the gist of TCP slow start — in real life the algorithm varies, but that’s essentially how it works.

Understanding the slow start algorithm and how most servers implement it sounds like an incredible way to optimize load times. It reminds me a little of the Super Mario Bros. frame rule, which is discussed in this excellent Summoning Salt video.

(Via the The Primeagen.)

➝ Source: endtimes.dev