Web applications have evolved over time from traditional multi-page applications that required full page reloads to modern single-page applications (SPAs) that function more like desktop apps. SPAs are built with JavaScript frameworks on the client-side and use Ajax techniques to update parts of the page dynamically without reloading. This provides a more fluid user experience compared to older request-response models. SPAs can improve performance by reducing load times, transferring less data, distributing load to clients, and enabling easier caching compared to traditional server-side web apps.