Single-page application (SPA) is a web app or site that fits into one single page. SPA provides a more flexible, desktop-alike user-experience and demonstrates better performance.
It allows developing a smoother and more controlled UX, hiding web complexity (requests, responses, etc.). SPA swaps only the content that is requested by user, loading HTML data in chunks.
There are two types of SPA: one embeds the content of multiple pages into one ‘shell’ page; the other one single app uses Ajax to retrieve content whenever a user clicks a link, thus only the content that changes will be updated on the page, the rest of the page remains with no reloads.