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令牌
相关推荐
代码改善世界8 分钟前
CANN深度解构:中国AI系统软件的原创性突破与架构创新
大数据·人工智能·架构
晚霞的不甘31 分钟前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
Tadas-Gao1 小时前
TCP粘包现象的深度解析:从协议本质到工程实践
网络·网络协议·云原生·架构·tcp
礼拜天没时间.2 小时前
深入Docker架构——C/S模式解析
linux·docker·容器·架构·centos
啊森要自信2 小时前
CANN runtime 深度解析:异构计算架构下运行时组件的性能保障与功能增强实现逻辑
深度学习·架构·transformer·cann
WindrunnerMax2 小时前
从零实现富文本编辑器#11-Immutable状态维护与增量渲染
前端·架构·前端框架
vx-bot5556662 小时前
企业微信接口在金融级业务场景下的合规架构与实践
金融·架构·企业微信
jerwey2 小时前
OpenClaw 架构与组件说明
架构·openclaw
sun03222 小时前
【架构基础】Spring中的PropertySourcesPlaceholderConfigurer介绍 (并非新知识,比较古老的一种使用方式)
java·spring·架构
静听松涛1333 小时前
大语言模型长上下文技术突破:如何处理超长文本的注意力机制与架构图解
人工智能·语言模型·架构