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令牌
相关推荐
理智的煎蛋1 天前
MySQL高可用架构:MHA
linux·数据库·mysql·架构·可用性测试
天若有情6731 天前
作为软件专业学生,我眼中新架构实践的‘稳’与‘进’
架构
MasterNeverDown1 天前
.net 微服务jeager链路跟踪
微服务·架构·.net
萤丰信息1 天前
智慧工地如何撕掉“高危低效”标签?三大社会效益重构建筑业价值坐标
java·大数据·人工智能·微服务·重构·架构·智慧工地
技术小泽1 天前
深度解析Netty架构工作原理
java·后端·性能优化·架构·系统架构
其古寺1 天前
异地多活架构:从“机房炸了”到“用户无感”的逆袭之路
架构·异地多活
掘金-我是哪吒1 天前
分布式微服务系统架构第168集:不要让“百万用户”直连 Redis
redis·分布式·微服务·架构·系统架构
闲不住的李先森1 天前
前端渲染模式演进与选型指南:从 CSR 到 Islands
前端·架构
眠りたいです2 天前
基于脚手架微服务的视频点播系统-界面布局部分(二):用户界面及系统管理界面布局
c++·qt·ui·微服务·云原生·架构·cmake
喂完待续2 天前
【Big Data】云原生与AI时代的存储基石 Apache Ozone 的技术演进路径
云原生·架构·apache·big data·序列晋升