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令牌
相关推荐
张彦峰ZYF3 小时前
一次触发、一把锁与一个号码:分布式基础组件的统一设计推演
架构·先立六条时间纪律·再拆解编号的位分配·节点编号分配与回拨四策·辨析互斥、租约与领导权三种语·调度拆成七个子问题·五层架构
码上上班3 小时前
基于 K3s 的微服务容器化与 GitOps 持续交付平台
微服务·云原生·架构
Dawson Zhu4 小时前
《Agentic Design Patterns》第 17 章导读:推理技术
人工智能·语言模型·架构·aigc·agi
各类产品分享14 小时前
制药厂 GMP 车间 AR 巡检系统落地架构与实施要点
架构·ar·ar巡检
云和恩墨4 小时前
从通用规范到系统级联动:以Skill为核心的Mopheus扩展架构与落地实践
架构
行者全栈架构师5 小时前
给开源 Rust 工具加一个新检查项,TRAE 帮我从想法跑到构建产物:全链路实战
前端·算法·架构
kevien_G15 小时前
微服务之OpenFeign最佳实践
java·微服务·架构
forest_095 小时前
Agent 系列07|记忆与状态设计
人工智能·机器学习·架构·prompt·agi
行者全栈架构师5 小时前
【鸿蒙心迹】冷启动从 2.8s 优化到 0.9s——耗时拆解与数据对比实战(HarmonyOS 7.x)
前端·算法·架构
东城绝神5 小时前
《Kubernetes部署篇:基于x86_64+aarch64架构CPU+containerd一键离线部署容器版K8S1.36.4高可用集群》
容器·架构·kubernetes