MPA(Multiple Page App): 多页面应用
SPA(Single Page App): 单页面应用
概述
多页面应用每当 url
发生变化的时候,都会返回一个新的 html
,而单页面应用正好相反,url
发生变化时,服务器端返回的 html
不会发生变化。
各有何优缺点?
多页面应用因为它不同的 url
返回不同的 html
,就更加便于搜索引擎爬虫的爬取,更加有利于网站去做 SEO
,而单页面应用,因为每一个 url
返回的 html
都是相同的,所以,它对于 SEO
来说并不友好。但是,但页面应用当 url
发生变化的时候公用的页面组件并不会重新去渲染,所以它不会像多页面应用在切换的时候有一个从白屏再到页面显示的这样一个过程。所以从用户体验上来说,单页面应用会更加好一些。同时,因为不同的 url
进行切换的时候,公用的组件不会被重新加载,所以一般来说,单页面应用在性能上相对于多页面应用也更加有优势一些。
多页面应用和单页面应用背后涉及的路由机制是不同的,多页面应用更多地是依赖服务器端路由的功能,用户请求不同的 url
服务器会返回不同的 html
,所以,这个路由的功能实际上是服务器去实现的。而单页面应用它的路由机制依赖的是客户端路由,它实际上是在浏览器端 JS 根据 url
的不同来决定我应该渲染哪一部分组件。即它的路由实际上是浏览器去做的(客户端路由)。