前端通信与前后端分离问题

前端通信

  1. 基于后端的通信( 后端完成 )( pc端用 )
  • Node.js中有一个net模块
  • 使用终端( shell )作为客户端
  • 思维流程
  1. 基于H5的webSocket来完成( 应用于移动端 )

  2. 低版本浏览使用的socket.io

stream 流

案例: 利用Node.js流来生成压缩包

fs
zlib

前后端分离 、 前后端不分离

  1. 市场流行:
    1. 前后端分离
  2. 前后端分离好处:
    1. 开发方法优化了
    2. 对亿万级数据请求可以做并发处理
  3. 很久以前( 10 - 13年 ) 前后端不分离项目

不分离:
前端 --》 后端 --》 jsp --> 前后端项目集成( 成功 )
前端 --》 后端 --》 jsp --> 前后端项目集成( 失败 ) -前端二次反工 -后端反工 -集成

  1. 互联网的项目开发流程

以前老的方式是:
1.产品经理/领导/客户提出需求
2.UI做出设计图
3.前端工程师做html页面
4.后端工程师将html页面套成jsp页面(前后端强依赖,后端必须要等前端的html做好才能套jsp。如果html发生变更,就更痛了,开发效率低)
5.集成出现问题
6.前端返工
7.后端返工
8.二次集成
9.集成成功
10.交付

新的方式是:
1.产品经理/领导/客户提出需求
2.UI做出设计图
3.前后端约定接口&数据&参数        { id,name,age,sex }
4.前后端并行开发(无强依赖,可前后端并行开发,如果需求变更,只要接口&参数不变,就不用两边都修改代码,开发效率高)
5.前后端集成
6.前端页面调整
7.集成成功
8.交付


请求方式

以前老的方式是:
1.客户端请求
2.服务端的servlet或controller接收请求(后端控制路由与渲染页面,整个项目开发的权重大部分在后端)
3.调用service,dao代码完成业务逻辑
4.返回jsp
5.jsp展现一些动态的代码



新的方式是:
1.浏览器发送请求
2.直接到达html页面(前端控制路由与渲染页面,整个项目开发的权重前移)
3.html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据,json数据格式因为简洁高效而取代xml)
4.填充html,展现动态效果,在页面上进行解析并操作DOM。
(有兴趣的童鞋可以访问一下阿里巴巴等大型网站,然后按一下F12,监控一下你刷新一次页面,他的http是怎么玩的,大多数都是单独请求后台数据,
使用json传输数据,而不是一个大而全的http请求把整个页面包括动+静全部返回过来) */
  1. 【在互联网架构中,
  2. web服务器:一般指像nginx,apache这类的服务器,他们一般只能解析静态资源。
  3. 应用服务器:一般指像tomcat,jetty,resin这类的服务器可以解析动态资源也可以解析静态资源,但解析静态资源的能力没有web服务器好。】
一般只有Web服务器才能被外网访问,应用服务器只能内网访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值