SPA: Single Page Application(单页应用程序)
概念:就是只有一个Web页面的应用,是加载单个HTML页面,并在用户与应用程序交互时动态更新该页面的Web应用程序。
与传统多页面程序的区别:
传统多页面程序:每次请求服务器返回的都是一个完整的页面
单页应用程序:只有第一次会加载页面, 以后的每次请求, 仅仅是获取必要的数据.然后, 由页面中js解析获取的数据, 展示在页面中
优势:
1 减少了请求体积,加快页面响应速度,降低了对服务器的压力
2 更好的用户体验,让用户在web app感受native app的流畅
缺点:
因为技术使用了ajax,导致页面不利于SEO,但是可以通过其他技术去规避
(SEO原则:搜索引擎的蜘蛛只识别href的一般超链接,而不识别JavaScript代码,遇到一般超链接就会爬进去,遇到JavaScript不会爬进去。即,搜索引擎抓不到AJAX动态加载的内容。)
1)服务端渲染 2)页面静态化(专门为爬虫准备的)
主要技术点:
1 ajax
2 锚点的使用(window.location.hash #)
3 hashchange 事件
实现思路:
监听锚点值变化的事件,根据不同的锚点值,请求相应的数据
1 锚点(#)原本用作页面内部进行跳转,定位并展示相应的内容
2 SPA中,锚点被用作请求不同资源的标识,请求数据并展示内容