Next.js uses client-side routing to handle page navigations. With this approach, page navigations are typically faster since the browser does not have redownload assets that don't change (eg: navigation bar, footer) and only download the code that needs to be swapped in. This is contrary to server-side routing where on each page change, the browser renders an entirely new document.