https://instant.page/ does this via user intent/interactions and pre-fetches the next page.
"Another option is to load the pages when the user starts pressing their mouse without preloading. This makes for zero unused requests while still improving page loads by 80 ms on average."
That's the way I would go. Fast, but not wasteful.
> And how much is our internet bill honey? I promise! All I did was some browsing for godsake!
Nice, but if everyone hits the same top 3 pages at once (think Oscar night), you're still fighting the same bottleneck. Faster fetch just means faster contention.
Right, I was hoping not to use them at a previous company that used AWS. One day we got hit by a DDOS (trying to get us to pay to stop it). Even with AWS WAF costing $0.60 per million requests, we ended up paying around $10k in WAF rules to block the attack. Yes, hundreds of thousands to millions of reqs/sec. Luckily the attacker had their entire botnet using an Accept-Language header from a specific (non-english) language, which made it an easy rule target. If it wasn't for that, I'm not sure what we would have done. Would actually love to hear what others do, I want the answer to be more than "use CloudFlare", but it's the only option I've found since then.
Funny it seems like I only ever see their captchas for companies that don't care about customer experience or have naively set up their online tools. Most major websites don't use them (or have sane settings that don't trigger captchas), commercial or not. It's usually mid-tier companies that I don't care enough to wait for the page load, or monopolies that actively hate their customer (e.g Canadian telco) where they are most prominent.
"Another option is to load the pages when the user starts pressing their mouse without preloading. This makes for zero unused requests while still improving page loads by 80 ms on average."
That's the way I would go. Fast, but not wasteful.
Nice, but if everyone hits the same top 3 pages at once (think Oscar night), you're still fighting the same bottleneck. Faster fetch just means faster contention.