Youtube & Netflix do this the same way…actually a lot of JS/TS frontend frameworks nowadays have this 1px loading bar at the top which behaves the same way (speedup, slow down never reach 100%)
1. full page
2. unobtrusive
Those 1px progress bars are unobtrusive because you can partially render data you've already received while still conveying that more data is loading.
To make a JS progress bar correctly show precent of data loaded over a network you would need to first know the total data size. That's why JS progress bars are always auto-incrementing and don't represent actual loading progress.
correct but what's the problem with determining it server-side