SPA(single-page-application)就是单页应用。
单页面应用SPA是一种网络应用程序或网站的模型,通过动态重写当前页面来与用户交互,避免页面之间切换打断用户体验.所有必要的代码(HTML,JavaScript,CSS)都通过单个页面的加载而检索,或者根据需要(通常是为响应用户操作)动态装载适当的资源并添加到页面。页面在任何时间点都不会重新加载,也不会将控制转移到其他页面。
最直观的就是我现在使用的Vue,,仅在 Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS。一旦页面加载完成,vue 不会因为用户的操作而进行页面的重新加载或跳转,而页面的变化是利用路由机制实现 HTML 内容的变换,避免页面的重新加载。
单页应用的优缺点
优点
具有桌面应用的及时性、网站的可移植性和可访问性;
用户体验好、快,内容的改变不需要重新加载整个页面;
良好的前后端分离,分工更加明确。
在一定程度上减轻了服务器的压力!!!
缺点
不利于搜索引擎的抓取;
首次渲染速度相对较慢。
为什么不利于搜索引擎的抓取?
一般来说,单页面应用程序的数据是通过异步请求来获取的,在这之前,它仅仅是一个模板,肯定时不利于浏览器进行获取的!鉴于此,更加符合前后端分离的开发思想!!
SEO(Search Engine Optimization):搜索引擎优化。
是一种方式:利用搜索引擎的规则提高网站在有关搜索引擎内的自然排名。目的是让其在行业内占据领先地位,获得品牌收益。很大程度上是网站经营者的一种商业行为,将自己或自己公司的排名前移。
1.SSR服务端渲染:将组件或页面通过服务器生成html,再返回给浏览器,例如nuxt.js
2.静态化:主流方法有两种:(1)通过程序将动态页面抓取并保存未静态页面,让页面实际存在于服务器的硬盘中 (2)通过WEB服务器的URL Rewrite方式(原理是通过web服务器内部模块按一定规则将外部的URL请求转化为内部的文件地址)也就是把外部请求地址转化为实际的动态页面地址
3.使用Phantomjs针对爬虫处理:原理是通过Ngix配置,判断访问来源是否为爬虫,如果是则搜索引擎的爬虫请求会转发到一个node server,再通过PhantomJS来解析完整的HTML,返回给爬虫
原文链接:https://blog.csdn.net/yz2319697673/article/details/123160182