SPA(single-page application)
单页面应用SPA是一种网络应用程序或网站的模型,通过动态重写当前页面来与用户交互,避免页面之间切换打断用户体验.所有必要的代码(HTML,JavaScript,CSS)都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面,页面再任何时间点都不会重新加载,也不会将控制转移到其他页面.
react,vue,angular,ember都属于SPA
单页应用优缺点:
优点:
1.具有桌面应用的及时性,网站的可移植性和可访问性
2.用户体验好,快,内容的改变不需要重新加载整个页面
3.良好的前后端分离,分工更明确
缺点:
1.不利于搜索引擎的抓取
2.首次渲染速度相对较慢
SEO:Search Engine Optimization 又叫搜索引擎优化
利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名,目的是让其在行业内占据领先地位,获得品牌收益,这个完善和优化你网站的排名因素的方法是能影响搜索引擎的排名的算法,每个搜索引擎的SEO算法不完全相同
给SPA做SEO用Vue实现有三种方式
1.SSR服务端渲染:将组件或页面通过服务器生成html,再返回给浏览器,例如nuxt.js
2.静态化:主流方法有两种:(1)通过程序将动态页面抓取并保存未静态页面,让页面实际存在于服务器的硬盘中 (2)通过WEB服务器的URL Rewrite方式(原理是通过web服务器内部模块按一定规则将外部的URL请求转化为内部的文件地址)也就是把外部请求地址转化为实际的动态页面地址
3.使用Phantomjs针对爬虫处理:原理是通过Ngix配置,判断访问来源是否为爬虫,如果是则搜索引擎的爬虫请求会转发到一个node server,再通过PhantomJS来解析完整的HTML,返回给爬虫