了解前后端分离 (个人瞎整理 暂时有个概念)

了解前后端分离

前后端分离就是前端调用 后端提供的api 接口拿数据 后端提给api接口给前端
前端只需要关注页面的样式与动态数据的解析渲染,而后端专注于具体业务逻辑。

传统的MVC
原来每次都要经过
控制器->模型->视图
视图是依赖于模型

问题1:
渲染视图的过程是在服务端来完成的,最终呈现给浏览器的是带有模型的视图页面,性能无法得到很好的优化

改进后:
采用ajax请求的方式
服务端接受该请求并返回JSON数据返回给浏览器,最后在浏览器中进行界面渲染

问题2:
SEO 搜索引擎优化会十分不方便  百度爬虫是爬不到异步加载的数据
资源消耗严重,在业务复杂的情况下,一个页面可能要发起多次ajax请求才能将页面渲染完毕
PC端倒是没啥 如果是APP手机端的话就特别耗资源了,打开的速度就跟手机性能的好坏有关

(SEO 自己的网站在搜索引擎中更容易被别人发现。
我们把网页地址提交给百度,百度就会派出爬虫来阅读我们的网页,
如果它觉得我们的内容有意义,百度就会收录,
这样在百度搜索中输入关键字就可以搜到我们的网站了)

问题3:静态资源,如果一个页面有很多静态资源如100张图片就会访问后台100次增加服务端的压力

前后端分离
后端 java 前端 nodejs +浏览器
加了个中间层node js
NodeJs的作用在MVC中相当于C(控制器)作为桥梁架接服务器端API输出的JSON,然后自己这边进行处理数据 最后输出给浏览器的是html代码字符
以获取用户列表为例
html中js->发ajax请求->nodejs(restful api)->转发http请求->java端(restful api)->读取数据库后返回给->nodejs->再转发给html->html

restful: 遵守了rest 原则 的web服务

定义这样一套统一的接口,在web,ios,android三端都可以用相同的接口

rest原则:

<1>网络上的所有事物都被抽象为资源

<2> 每个资源都有一个唯一的资源标识符

<3> 同一个资源具有多种表现形式(xml,json等)

<4> 对资源的各种操作不会改变资源标识符

<5> 所有的操作都是无状态的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值