A single-page application (SPA) is a website with substantial functionality running in the browser. The browser acts as a thick client: it renders HTML, validates input, and changes the interface, while a thin client mainly displays server-rendered information. React can supply the UI layer, but a complete SPA usually combines React with additional technologies such as routing, state management, and a backend. section 1.3.1 section 1.3
A typical SPA interaction follows this browser-server sequence:
- The user enters a URL, and the browser requests the application from a server. section 1.3.1
- The server returns static assets such as HTML, CSS, and JavaScript, often with a bare-bones page and a loading indicator. section 1.3.1
- Application code requests data, which may arrive as JSON, XML, or another format. section 1.3.1
- The browser uses the received data to render the missing interface, injecting data into templates; this process is also called hydration. section 1.3.1
Interactive browser applications
Facebook, Google Docs, and Gmail illustrate the SPA category because they provide substantial functionality directly in the browser. Typical actions include clicking buttons, dragging and dropping, and hovering, with the browser responsible for UI changes. section 1.3.1
Use the architecture figure to trace the user, browser, server, static assets, data requests, and rendered interface as one end-to-end flow. section 1.3.1




