当前位置: 首页 > news >正文

B/S架构系统角色与对应协议详解

B/S架构系统角色与对应协议详解

一、核心角色及协议映射

系统角色主要职责关键协议协议作用说明
浏览器用户交互界面HTTP/HTTPS应用层通信基础
(Browser)发送请求/渲染响应WebSocket全双工实时通信
执行前端逻辑WebRTC点对点音视频传输
DNS域名解析
-------------------------------------------------------------------------------------------------------------------------
Web服务器静态资源服务HTTP/HTTPS请求响应处理
(Nginx/Apache)请求转发FastCGI/WSGI与应用服务器通信
负载均衡TCP/UDP传输层通信
SSL终端TLS/SSL加密通信
-------------------------------------------------------------------------------------------------------------------------
应用服务器执行业务逻辑HTTP API (REST/GraphQL)业务接口通信
(Tomcat/Node.js)数据处理RPC (gRPC/Thrift)服务间高效通信
会话管理WebSocket实时消息推送
JDBC/ODBC数据库连接
-------------------------------------------------------------------------------------------------------------------------
数据库数据持久化存储SQL (MySQL/PostgreSQL)关系型数据操作
(MySQL/Redis)事务处理NoSQL (MongoDB协议/Redis协议)非结构化数据操作
查询优化TCP/IP网络通信基础
-------------------------------------------------------------------------------------------------------------------------
CDN节点内容分发加速HTTP/HTTPS资源传输
边缘缓存QUIC (HTTP/3)快速UDP传输
负载均衡BGP路由优化
-------------------------------------------------------------------------------------------------------------------------
认证服务器用户身份验证OAuth 2.0 / OpenID Connect第三方授权登录
(OAuth服务)权限管理SAML企业级单点登录
令牌颁发JWT安全凭证传输

二、协议分层架构

HTTP/HTTPS/WebSocket
FastCGI/WSGI
SQL/NoSQL协议
RPC/gRPC
DNS
TLS/SSL
QUIC
用户界面层
Web服务器
应用服务器
数据库
微服务
域名系统
安全层
CDN网络

三、关键协议详解

1. 浏览器核心协议

  • HTTP/HTTPS

    HTTP
    HTTPS
    浏览器请求
    WebServer
    加密响应
    • 无状态请求-响应模型(通过Cookie/Session保持状态)
    • HTTPS = HTTP + TLS/SSL加密
  • WebSocket

    GET /chat HTTP/1.1
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==
    

2. 服务器间通信协议

协议类型使用场景特点
FastCGINginx+PHP/Python持久进程/高并发
WSGIPython Web标准接口框架与服务器解耦
gRPC微服务通信基于HTTP/2+ProtoBuf
JDBCJava应用连接数据库跨数据库标准接口

3. 安全协议栈

sequenceDiagram浏览器->>+服务器: ClientHello(加密套件列表)服务器-->>-浏览器: ServerHello(选定套件+证书)浏览器->>服务器: 验证证书+生成会话密钥服务器-->>浏览器: 加密确认双方->>安全通道: 开始加密通信

四、特殊角色协议

1. CDN网络协议

  • QUIC协议
    • 基于UDP的0-RTT快速连接
    • 解决TCP队头阻塞问题
    • 示例:YouTube视频分发

2. 认证协议对比

协议流程类型适用场景
OAuth 2.0授权委托第三方应用登录
OpenID Connect身份认证联合身份认证
SAML 2.0XML单点登录企业级SSO解决方案

五、典型通信场景示例

1. 用户访问 https://example.com👉 浏览器使用DNS解析域名2. 发送HTTPS请求到Nginx👉 TLS握手建立加密通道3. Nginx转发请求到Tomcat👉 通过AJP协议传输请求4. Spring应用查询MySQL👉 通过JDBC执行SQL查询5. 返回JSON响应到浏览器👉 使用HTTP/2多路复用传输6. 浏览器渲染页面👉 通过WebSocket接收实时更新

协议选择原则

  • 外部通信:HTTP/HTTPS + RESTful API
  • 内部通信:gRPC/Thrift
  • 实时交互:WebSocket/SSE
  • 安全要求:TLS 1.3 + JWT令牌
http://www.lryc.cn/news/588997.html

相关文章:

  • AAAI-2025 | 同济大学面向嘈杂环境的音频视觉导航!BeDAViN:大规模音频-视觉数据集与多声源架构研究
  • HCIA第三次综合实验:VLAN
  • iOS高级开发工程师面试——常见第三方框架架构设计
  • ESP32S3+VSCode+PlatformIO+Arduino+Freertos开发入门指南:基于Arduino框架的应用开发全流程
  • 基于LAMP环境的校园论坛项目
  • 新手向:Python数据处理Excel报表自动化生成与分析
  • 剑指offer62_骰子的点数
  • 为什么市场上电池供电的LoRa DTU比较少?
  • [Pytest][Part 5]单条测试和用例集测试
  • MMYSQL刷题
  • CAU数据挖掘 第五章 聚类问题
  • 【canal+mysql+example+数据验证测试】
  • Python 内置函数random
  • 行为模式-状态模式
  • 小智完整MCP交互流程(以调节音量为例)
  • 网络安全职业指南:探索网络安全领域的各种角色
  • 使用llama-factory进行qwen3模型微调
  • elasticsearch 下载/安装
  • MaxKB使用笔记【持续ing】
  • python+selenium UI自动化初探
  • JAVA高级第一章 集合框架和泛型(一)
  • Ubuntu18.04 系统重装记录
  • 写作词汇积累(A):自洽、自恰、恰如其分、恰当
  • MQ2烟雾传感器模块(第九天)
  • C++学习笔记五
  • 《时间简史》:窥探宇宙的奥秘
  • IOS 18下openURL 失效问题
  • 032_API参考文档
  • 前端面试专栏-工程化:25.项目亮点与技术难点梳理
  • 区块链的三种共识机制——PoW、PoS和DPoS原理