SPA是什么?
全称是单页面应用。浏览器
一个SPA就是一个WEB应用,它所需的资源(HTML CSS JS等),在一次请求中就加载完成,也就是不需刷新地动态加载。缓存
用术语“单页”就是由于页面在初始化加载后就永远不会从新加载刷新。服务器
优势:
减轻服务器端的压力。网络
由于服务器先将一份包含了静态资源、JavsScript和模板的静荷数据(payload)发送到了客户端,以后客户端只须要获取渲染页面或视图所须要的数据便可。
payload就是起关键做用的资源单元测试
提升了页面的渲染效果。测试
因为移动设备的流行,能够开发提供JSON格式数据的网络服务,而后能够提供不一样的客户端使用。spa
SPA的使用,咱们可使用一个HTTP API,一个HTTP API相比在服务端渲染一个HTML页面有诸多好处,这样就能够很方便的进行单元测试等操做,还能够被其余不少客户端程序所用。ip
SPA最大的好处就是大量的工做都在浏览器中完成,服务端承担更少的工做,这样就能够处理更多的请求。同时SPA须要额外的请求模版开销,咱们能够经过预编译模版、缓存机制和将多个模板拼接成一个大的模板来减小请求数量。资源
缺点:路由
首屏加载时间会很长。
SEO不友好。
主要是由于SPA利用了hash片断实现路由,而利用hash片断不会做为HTTP请求中的一部分发送给服务器。
而SPA使用hash片断的目的是:当片断的内容发送变化时,浏览器不会像URI发送变化时那样发起新的网络请求。这样就能够只请求页面或视图渲染所须要的数据,而不是为每个页面获取并解析整份文档。