静态页面、伪静态页面、SPA、SSR、预渲染之间的联系

版权声明:本文为博主原创文章,转载请带上我的小名嘿嘿嘿 https://blog.csdn.net/qq_37540004/article/details/84785090

写在前面,本文是我查阅资料得出的粗略理解,如有不对请指正,感谢!

  • 查阅资料得知 爬虫对URL和查看网页源码时候查看到的DOM结构有很强的依赖关系

  • SPA页面众所周知查看网页源码后,除了你写的index.html里面的内容 没有生成的真实DOM结构(通过JS动态增删,部分搜索引擎拿不到这些),而且url不用history模式,生成的都带#号,完全不利于SEO

  • 而SSR服务端渲染,就拿Nuxt来说,可以生成真正的静态页和伪静态页(在服务端生成或者你本地生成后传到服务端里),查看源码的时候,能看到生成的DOM结构,而不再仅仅是index.html里面的内容,而且URL不带#号等,所以利于SEO优化

  • 预渲染使用的原理类似于服务端渲染,生成真正的静态html, 有个插件 叫做PrerenderSpaPlugin 可以做预渲染

    摘自 https://segmentfault.com/q/1010000012069735

    1. 预渲染在构建阶段就已经生成了匹配预渲染路径的html文件,你的每个路由都可以作为入口文件。
    2. 预渲染后其对应文件夹下都有一个index.html,作为路口文件,之后在跳转走的是前端路由,并不再请求html文件。
    3. 首屏预渲染对还需要请求易变数据的页面不太合适,因为展示的html很可能是上次预渲染的html,等到请求完毕返回数据后再展示最新的html会引起客户的误解和疑惑。
    4. 让你配路由是因为,若你一开始访问的不是首页,是其他路由,那么请求其他路由下已经预渲染好的index.html,否则如果不做预渲染,会请求你的根节点的index.html,再根据路由匹配,链到你请求的路由下的页面
  • 静态页和伪静态页简单来讲就是静态页会生成真正的HTML文件,伪静态不会真正生成HTML文件

    1. 静态页面访问最快;维护较为麻烦。
    2. 动态页面占用空间小、维护简单;访问速度慢,如果访问的人多,会对数据库造成压力。
    3. 使用纯静态和伪静态对于SEO(Search Engine Optimization:搜索引擎优化)没有什么本质的区别。
    4. 使用伪静态将占用一定量的CPU占用率,大量使用会导致CPU超负荷。
    5. 详情了解和区别可查看静态页面、动态页面和伪静态页面的区别,以上四条均摘自该文章。

PS: 打个广告 欢迎大家关注 花粉社区

猜你喜欢

转载自blog.csdn.net/qq_37540004/article/details/84785090