Find a navigation recipe

Keep URLs, server pages, router states, sessions, and redirects coherent

Start with server navigation

ProblemRecipe
Keep forms useful before enhancementUse progressive enhancement
Preserve search in the addressKeep filters in the URL
Preserve list navigationPaginate on the server
Return safely after sign-inValidate redirects

Add browser-owned state where needed

ProblemRecipe
Define application routesUse the router
Enter a state after sign-inHandle authentication
Enter the next saved form stepBuild a multi-step form
Recover from an expired sessionHandle session expiration
Enter a public state after logoutLog out safely