前后端分离是什么样的概念呢?node从中又有什么作用呢?近期我群里有一些朋友问我这种问题,下面我来说说我自己的看法。

在以往我们开发人员,前端只需要把UI转为html,以及一些页面效果。一些逻辑,包括一些数据传送都是后端处理。但是现在,我们前端需要做的东西有很多,不光是页面呈现,还需要写逻辑,数据展示。所以出现了前后端分离这一说法。

前后端分离:

前端:整个页面显示以及页面的交互逻辑。用ajax和node作为交互。其中node作为中间层。

后端:提供api接口,利用redis保存session,与数据库交互。

流程:

客户端(浏览器)向node请求页面交互。

node向后端(这里用java)转发请求。java在发送请求到数据库。

java返回结果给node。node返回页面,提供数据。

前后端分离前端:

前端可以不依赖后端,前端自己起一个服务,如果前端页面处理好,后端的API还没有提供,那么,前端可以用mock模拟数据。

这里出现一个问题,如果没有服务,单页面是不可以ajax请求数据,会出现跨域的问题。要么浏览器做跨域。所以这里用到node。

我们利用node的express开启一个本地服务器,利用node的 http-proxy-middleware 插件将客户端发送给node的请求发给真正后服务器。

node:

node主要是为了分层开发,前端不需要知道后端是怎么提供数据,怎么操作。后端也不需要知道node是怎么操作,前端是怎么部署。前端可以利用node自己作处理。

node本身有着异步,非阻塞I/o。在处理并发量比较大的数据请求上有很大的优势。

理解:什么是前后端分离(纯属个人理解,有错请纠正)相关推荐

  1. 关于前后端分离我的理解

    前后端分离应该借助node,因为node可以拥有自己的服务(当然这不是使用node的原因,node本身拥有的高并发能力才是亮点),前后端各有自己的服务,前端服务处理前端的逻辑(相当于在后端之前有一套处 ...

  2. 理解什么是前后端分离

    HTML.CSS.JS. AJAX或Fetch. 学习一个前端的框架, React或者Vue或者Angularjs2都可以. 学会一个前端的路由框架, 如React-Router或者Vue-Route ...

  3. 前后端分离开发的理解以及和前后端不分离的区别

    一.前后端分离的概念 前后端分离 前后端分离是一种架构模式,说通俗点就是后端项目里面看不到页面(JSP | HTML),后端给前端提供接口,前端调用后端提供的 REST 风格接口就行,前端专注写页面( ...

  4. 视频教程-前后端分离与性能优化-JavaScript

    前后端分离与性能优化 中国实战派HTML5培训第一人,微软技术讲师,曾任百合网技术总监,博看文思HTML5总监.陶国荣长期致力于HTML5.JavaScript.CSS3.jQuery以及HTML5跨 ...

  5. 对前后端分离和FastDFS的使用的再理解

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 最近我们上线一个新功能,在进行部署的时候出了个奇葩的问题,在解决这个问题的时候对前后端 ...

  6. 一文带你理解前后端分离本质

    本文旨在让你理解清楚什么是前后端分离,前后端分离有何价值,并且通过代码带你认识前后端分离架构. 一. 前后端不分离时代 分析前后端分离,则先看看前后端不分离是什么样子的,有对比才能更好理解. 互联网刚 ...

  7. 理解:什么是前后端分离开发

    在前端或者后端的学习过程中,我们一定或多或少听说过前后端分离开发,但是相信不少人对于前后端分离这个概念仍然不是很清楚,因此本文就对什么是前后端分离开发做一个介绍. 一.什么是前端和后端 在理解前后端分 ...

  8. 轻松理解前后端分离(通俗易懂)

    一.前后端分离本质 大家往往会陷入一个误区,试图用具体的技术来描述什么是前后端分离这个一个概念,这是答非所问的.一提到前后端分离就是SpringBoot + Vue,这并不是正确的理解! 我们问的是: ...

  9. 【个人理解】简单理解前后端分离,微服务,分布式开发

    前后端分离就是分开开发 前端和后台不在同一个应用中.而是两个不同的项目 每个项目都有不同的域名和端口号,如果前端需要数据,就去访问后台得项目接口获取数据 就比如说,数据库和后台是分开的, 数据库和后台 ...

最新文章

  1. ab的压力测试(转)
  2. 476. 数字的补数 【位运算】
  3. 【NLP】使用Python可视化Word2vec的结果
  4. php响应式布局,响应式布局之弹性布局的介绍
  5. 修改终端服务器的最大连接数
  6. Hive查看执行计划
  7. Linux系统学习前的一些准备-Linux-学习笔记(二)
  8. python编程从入门到实践练习7-10:梦想的旅游胜地
  9. 工会活动报名统计在微信里面_工会开发人员可以在索尼爱立信Xperia™PLAY上获得更多关注
  10. ms全国计算机考试网,全国计算机等级考试一级ms office考试试题
  11. SSL证书怎么购买?
  12. 7.8 Git 工具 - 高级合并
  13. 【C#】简单二维码制作和打印
  14. python如何实现歌单 黑胶品质?
  15. jQuery遍历二维数组
  16. PRML第九章读书笔记——Mixture Models and EM K均值/K中心点、高斯混合奇异性、EM观点下的高斯混合/K-means/混合伯努利分布/贝叶斯线性回归、推广EM算法
  17. 求直角梯形最长对角线(c++基础)
  18. hrbust 哈理工oj 1588 神医【贪心】
  19. php 腾讯短信接口api,关于腾讯云短信 API 成功调用的分享
  20. 蓝桥杯 — 奖券数目(有些人很迷信数字,比如带“4”的数字)

热门文章

  1. vue开发环境搭建Mac版
  2. IDEA git 忽略文件最佳方式
  3. [附源码]java毕业设计同城搬家平台
  4. 全球及中国工业节能行业“十四五”动态调研及投资可行性研究报告2021-2027年
  5. html 转义字符 对勾,浅谈html特殊字符 编码css3 content:我是特殊符号
  6. Excel里半勾的打法
  7. STM32烧录 Error:Flash Download Failed-“Cortex-M3“ 解决方案—ST-Link调试
  8. 分享几个实用的微信小程序(二)
  9. 因为假货,美国再次“拉黑”淘宝
  10. MarkDown语法使用教程