web服务器架构,websocket

[复制链接]
发表于 2025-11-12 09:04:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一. 什么为前后端分离

在访问web应用时假如是先访问后端接口,然后通过后端举行转发到前端就黑白前后端分离。假如是直接访问前端接口就是前后端分离的。
二. 非前后端分离架构

1. 前端html后端servlet

被tomcat服务器打包,同一指定根目次入口。通过原生表单发送到后端,后端根据哀求数据举行重定向或哀求转发,如许就不能进办法态渲染,也就必须存在许多静态html对应每一个哀求。
这里原生表单和react的api哀求表单是有区别的,原生表单通常只能通过http包装一个简朴key,value举行传输。但api表单可以发送任何情势的数据,由于发送数据通过json格式举行包装理论上可以包装恣意数量,恣意情势(如value可以为列表也可以为字典)的键值对。
2. 前端html后端python且利用websocket


  • 这种处理惩罚方式和前端html后端servlet根本一样,都是通过后端的python步伐或servlet步伐完成页面跳转。
  • 前端html同样可以通过js原生api哀求,大概导入axios发出api哀求而不是原生表单哀求。然后后端处理惩罚后返回数据到前端。这是正常实行curd操纵(数据库操纵)的根本流程。
    但是假如遇到必要频仍更新操纵如谈天室的人数厘革,谈天消息的发送的担当等就必要用到websocket而不是api哀求,api哀求fetch是在应用层传输http数据发送一次就端开得当大量数据传输实行curd操纵,
    websocket工作在网络层不绝保持毗连,快速传输更新少量数据,且这些数据通常是步伐实行期间在内存中生存的实时数据如谈天室的人数厘革,谈天消息的动态发送等。
    websocket一个很显着的作用就是,好比当一个用户进入了谈天室应该让全部效户都立刻看到谈天室厘革,假如此时用fetch发出http哀求那么其他用户必须手动革新页面才气看到厘革,由于http是发送一次哀求就断开,其他用户并不能动态感受厘革,除非在前端设置自动革新。
    但是websocket本质也是套接字双向传输,工作过程是,前端点击按钮触发前端socket哀求,后端监听对应事故的socket担当到哀求通过后端函数更新内存数据(不是数据库),然后在通过socket广播修改后的数据到前端监听对应事故的socket,然后调用前端js函数修改前端数据。
3. 前端jsp,后端servlet

固然实现了动态页面,但是由于jsp的动态渲染机制依然是实行java代码而且还将java代码和html混在一起了,以是被thymeleaf模板替换。thymeleaf模板独立了html和java代码。
4. 前端thymeleaf,后端sevlet

实现动态页面,前后端代码更加独立,优于jsp
4. php

php和jsp很像都是将代码直接嵌入html。但是差别的是php是一种独立的语言,具备独立开发后端接口的本领。实现完全的前后端分离架构,好比前端出一个api哀求,ngnix服务器对api路径的分析后,哀求对应的php文件,然后将哀求的php文件通过cgi接口实行后将步伐效果返回给前端。就好比是前端react后端servlet中心件tomcat。
三. 前后端分离架构

前后端分离后不再必要依赖后端的动态渲染,前端页面美化全部由前端组件本身完成后端只必要提供数据。
1. 前端react后端servlet

前端通过api向后端发出哀求,后端处理惩罚后返回数据到前端,前端本身通过数据渲染本身。
2. php

前端出一个api哀求,ngnix服务器对api路径的分析后,哀求对应的php文件,然后将哀求的php文件通过cgi接口实行后将步伐效果返回给前端。就好比是前端react后端servlet中心件tomcat。
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表