假设,我用 vue 写前端,用 django、flask、fastapi 写后端。
网站有用户登陆功能,但是怎么渲染当前登陆的是谁呢?是每次先请求静态的 vue(html、jss、css),然后再让浏览器请求后端用户接口获取用户信息渲染出用户信息后,再去请求对应的资源(比如用户文章页就去请求用户文章列表)
还是做一个 ssr 服务端渲染,直接在服务端拼装好用户信息,让客户端浏览器渲染的时候直接可以获取带用户信息的 html?
好像目前几乎都是后者的方案?包括思否!为什么?因为后者速度快用户体验更好吗?但是这样的话,必须要 ssr 了?
对你的需求来说,因为“用户验证”这个前置条件的存在,其实 SSR 与否帮助不太大,因为用户关键的信息是不可能开放给爬虫的。这里 SSR 的好处是先渲染,用户可以直接看到想看的内容,体验更优质。但实际提升不大,可能 5/100 吧。
所以这里比较理想的做法是:
两种方案都可以。SPA(单页应用)会在拿到所有的资源后,通过接口获取用户信息,并在客户端重新组装页面。SSR则是在服务端获取用户信息,组装页面发送给客户端。
SPA方案开发和部署简单,但是对搜素引擎的支持不好。(爬虫一般不会执行下载的js文件,然后进行检索。)
SSR方案,由于代码需要同时在客户端和服务端执行一遍,并且后台需要 node 服务,所以开发和部署都会相对比较复杂。但是对于搜索引擎会有比较好的支持。
向思否这种内容平台,需要对搜索引擎有较好的支持,所以一般会采用SSR方案。
在前后端分离的应用中,首屏(主屏)的用户信息通常通过客户端的异步请求来获取并渲染。这是因为前后端分离的核心思想就是服务端负责提供数据和API,而客户端(如Vue)则负责展示和交互。
针对你提出的问题,以下是两种常见的方法及其优缺点:
步骤:
优点:
缺点:
步骤:
优点:
缺点:
不是。选择哪种渲染方式取决于你的应用需求和场景。如果你更关注首屏渲染时间和SEO效果,可以考虑使用SSR;如果你更关注性能和灵活性,可以选择客户端渲染。在实际开发中,也可以结合使用两种渲染方式,根据具体页面和场景来选择合适的渲染方式。
前提是已登录 前后端分离,当用户打开界面的时候,浏览器请求服务端的 nginx 获取 html+js+css 这些静态文件绘制界面 但是这些 html+js+css 可能是 vue 或者 react 编译出来的,本身不包含 user 信息 我想到的办法就是,浏览器绘制好了界面之后(或者绘制中),发出 ajax 请求后端 api 接口获取当前用户是谁 然后把 user 信息一起绘制到界面上 但是我看
不同的权限显示的菜单不一样,有的多有的少
前后端分离 在B/S架构的环境中,前后端分离一直都众说纷纭,没有一个标准。我觉得打开可以分为三个阶段: 传统的分离方法 传统意义上的前后端分离,前端指的是美工、切图、设计,后端是实现代码、数据库相关的实现。美工设计和生成的前端页面,给到程序员来做集成。那么这里其实就不分什么前后端了,程序员从数据库一直搞到前端页面的样式,就是“全能型运动员“。当然,一般传统上的开发协作模式有两种: 一种是前端先写一
面试被问到首屏性能优化,回答了fcp指标以及一系列的措施,但是面试官反问道用骨架屏或者背景图其实也可以解决这个问题,并且举例一般把首屏接口的响应时间作为指标会更好一些,并细化到优化到多少毫秒,这部分应该如何去回答以及如何监测首屏接口的响应时间需要用到哪些指标,并如何优化解决
前言 上一篇我们遇到'少年,是不是忘了npm run mock?'的警告,这一篇我们就来解决这个问题。 开发 一、安装包 安装koa和一系列的包(我们用的是koa v2): koa koa-bodyparser koa-router boom nodemon mockjs 解释说明一下(知道的同学可以忽略): 名称 作用 koa 我们都知道Node.js有HTTP模块,来处理HTTP请求
在一个前后端分离的项目中,管理页面支持管理员强制用户下线(类似于账号锁定),目前的做法是修改用户权限,然后让 token 过期,当用户再次向后端发送请求的时候鉴权失败,但是这不够 实时 ,只有当再次登录或者发送请求进行鉴权的时候才能知道自己被封号了,如何让用户立刻知道自己被封号,然后跳转到登录界面?