SPA SEO SSR三者有什么区别

#SPA通俗的说就是单页面应用(single page application) ##优势 页面之间的切换很是快 必定程度减小了后端服务器的压力 后端程序只须要提供api,不须要客户端究竟是web端仍是手机等 ##缺点 首屏打开速度很慢,由于用户首次加载须要先下载SPA框架及应用程序的代码,而后再渲染页面。 不利于SEO搜索引擎优化 #SEO通俗的说就是搜索引擎优化(search engine optimization) SEO是一种经过了解搜索引擎的运做规则(如何抓取网站页面,如何索引以及如何根据特定的关键字展示搜索结果排序等)来调整网站,以提升该网站在搜索引擎中某些关键词的搜索结果排名。 ####咱们以前说SPA单页面应用,经过AJAX获取数据,这就难保证咱们的页面能被搜索引擎正常收到,而且有一些搜索引擎不支持执行js和经过ajax获取数据,那就更不用提SEO了。为了解决这个问题,,SSR登场了 #SSR通俗的说就是服务器端渲染(server side rendering) ##优势 更快的响应时间,不用等待全部的js都下载完成,浏览器变成显示比较完整的页面 更好的SSR,咱们能够将SEO的关键信息直接在后台就渲染成html,从而保证搜索引擎的爬虫都能爬取到关键数据 ##缺点 占用更多的cpu和内存资源 一些经常使用的浏览器的api可能没法正常使用,好比window,document,alert等,若是使用的话须要对运行环境加以判断 开发调试会有一些麻烦,由于涉及到了浏览器及服务器,对于SPA的一些组件的声明周期的管理会变得复杂 可能会因为某些因素致使服务器渲染的结果与浏览器端的结果不一致。html

###先后端分离的概念 传统的web先后端开发大可能是前端将页面写好,让后端将页面集成到项目中,这里就存着一个先后端耦合的问题,首先对于后端来讲,不只要写后端逻辑,还得要集成前端页面。对于前端来讲,也不是很轻松就能看到页面的真正渲染出来的样子,这样 确定是不利于开发调试的,效率天然也就成了问题。针对上述问题,先后端分离的思想应运而生。 ###基本概念 先后端根据AJAX接口进行数据的交互,目前常见的是后端直接将数据已JSON的格式返回给前端,前端根据后端服务器返回的数据,操做DOM。 ###主要优势 分工明确,先后端各司其职,后端专一业务逻辑和功能的实现,前端专一页面实现和渲染。 接口明确,并行开发。在后端接口没有实现好以前,前端能够本身模拟接口提供测试数据。 提升开发效率,必定程度上减小了先后端的沟通成本 #总结 ##先后端分离下降了前端和都端的耦合度,提升了开发效率; ##SPA是先后端分离中前端的一种解决方案; ##SEO对于跟多网站很重要而普通的SPA又不利于SEO; ##SSR的出现必定成都上解决了SPA首屏慢的问题,又极大减小了普通SPA对于SEO的不利影响。前端

相关文章
相关标签/搜索