3 ms·
Links force a reload of additional assets, break ongoing socket connections, and at minimum requires a re-rendering of the entire DOM, which is a waste for many
by evrydayhustling 8y ago
Links force a reload of additional assets, break ongoing socket connections, and at minimum requires a re-rendering of the entire DOM, which is a waste for many navigation actions that still deserve their own URL. In particular, the many tcp handshakes necessary for a total page refreshes are expensive on mobile.
As a concrete exampke, rich news experiences that let you scroll through preloaded stories benefit a lot from not needing to re-render all of the surrounding layout when the content changes, and from assigning a different url to each story.
Btw, I never said this was worth the current trade-off with malicious sites, just that the history features were originally inspired and still used by honest sites. Fortunately we have better options than all or nothing; sounds like Chrome is implementing a heuristic that makes sure url history can only be updated in some proportion to human actions. Another option might be a whitelist check like "<site> would like to update your history".