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

    http 复制代码
    GET /chat HTTP/1.1
    Upgrade: websocket
    Connection: Upgrade
    Sec-WebSocket-Key: x3JJHMbDL1EzLkh9GBhXDw==

2. 服务器间通信协议

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

3. 安全协议栈

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

四、特殊角色协议

1. CDN网络协议

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

2. 认证协议对比

协议 流程类型 适用场景
OAuth 2.0 授权委托 第三方应用登录
OpenID Connect 身份认证 联合身份认证
SAML 2.0 XML单点登录 企业级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令牌
相关推荐
不爱吃糖的程序媛29 分钟前
华为 CANN:昇腾 AI 的异构计算架构核心与开源生态解析
人工智能·华为·架构
晚霞的不甘1 小时前
升腾异构计算架构 CANN 详解:从底层到应用的全栈解析
架构
转转技术团队5 小时前
回收系统架构演进实战:与Cursor结对扫清系统混沌
java·架构·cursor
稚辉君.MCA_P8_Java6 小时前
通义 插入排序(Insertion Sort)
数据结构·后端·算法·架构·排序算法
用户9949481198256 小时前
拒绝“人工智障”:618大促背后的 MateChat 智能导购架构演进与性能极致优化
架构
用户9949481198256 小时前
定义未来的交互:基于 MateChat 实现 NL2UI(自然语言生成界面)的架构探索
架构
蓝瑟忧伤7 小时前
前端性能体系的全面升级:现代 Web 如何构建可量化、可治理、可演进的性能架构?
前端·架构
语落心生9 小时前
探秘新一代向量存储格式Lance-format (二十八) 性能优化技巧
架构
语落心生9 小时前
探秘新一代向量存储格式Lance-format (二十七) Blob 数据支持
架构
语落心生9 小时前
探秘新一代向量存储格式Lance-format (二十四) 事务与提交协议
架构