术语表

sgcWebSockets、sgcSign 和 sgcBiometrics 文档中使用的网络、实时协议、密码学和身份验证术语定义。每个条目在适用时链接到相关 RFC 或规范。

WebSocket
在单个 TCP 连接上实现的双向全双工消息传输协议。已在 RFC 6455 中标准化。被 sgcWebSocketClient / sgcWebSocketServer 用作 MQTT、AMQP、STOMP、WAMP 和自定义子协议的传输层。
RFC 6455
IETF 规范"WebSocket 协议"——定义握手、帧结构、控制帧和关闭握手。参见 datatracker.ietf.org/doc/html/rfc6455
HTTP/2
HTTP 的第二个主要版本,通过流多路复用、头部压缩和服务器推送来降低延迟。已在 RFC 9113 中标准化。
RFC 9113
"HTTP/2"——取代 RFC 7540 的整合规范。定义帧类型、流多路复用、流量控制、通过 HPACK 进行头部压缩以及升级协商规则。
HPACK
HTTP/2 的头部压缩,在 RFC 7541 中定义。使用静态表、动态表和 Huffman 编码来减少每个 HTTP/2 流上的头部开销。
RFC 7541
"HPACK:HTTP/2 头部压缩。"规定了 HTTP/2 端点使用的二进制编码规则、索引头部引用和动态表大小协商。
ALPN
应用层协议协商,在 RFC 7301 中定义的 TLS 扩展。允许客户端在 TLS 握手期间通告应用层协议(如"h2"、"http/1.1"),以便服务器选择。
RFC 7301
"传输层安全(TLS)应用层协议协商扩展。"定义用于在 TLS 上协商 HTTP/2 的 ALPN 扩展。
HTTP/3
HTTP 的第三个主要版本,运行在 QUIC 而非 TCP 上。已在 RFC 9114 中标准化。消除了队头阻塞并将 TLS 1.3 集成到传输层。
QUIC
基于 UDP 的多路复用安全传输协议,在 RFC 9000 中定义。承载 HTTP/3,提供连接迁移、0-RTT 和集成的 TLS 1.3。
MQTT
消息队列遥测传输——面向受限设备的轻量级发布-订阅协议。目前生产环境中使用两个主要版本:3.1.1 和 5.0。
MQTT 3.1.1
2014 年发布的 OASIS 标准。定义了原始 CONNECT/PUBLISH/SUBSCRIBE 流程,包含三个 QoS 级别、保留消息和遗嘱消息。参见 OASIS MQTT 3.1.1
MQTT 5.0
2019 年发布的 OASIS 标准。在 3.1.1 基础上新增用户属性、原因码、主题别名、共享订阅、会话过期和增强身份验证。参见 OASIS MQTT 5.0
QoS (Quality of Service)
MQTT 消息传递保证。QoS 0——最多一次(即发即忘)。QoS 1——至少一次(通过 PUBACK 确认)。QoS 2——恰好一次(四步握手:PUBLISH、PUBREC、PUBREL、PUBCOMP)。
Retained message
由代理存储并发送给每个订阅主题过滤器匹配的新订阅者的 MQTT 消息。每个主题只有一条保留消息;发布带保留标志的空载荷可清除它。
Last Will and Testament (LWT)
在 CONNECT 时注册的 MQTT 消息,当连接异常关闭时由代理代表客户端发布。用于在线状态检测和断线通知。
Broker
发布-订阅协议(MQTT、AMQP、STOMP)中的中央服务器。接收发布者的消息,与订阅进行匹配,然后转发给订阅者。
Topic
标识消息发布频道的层级斜杠分隔字符串。订阅者按主题模式进行过滤。
Wildcard topic
包含 +(单级通配符)或 #(多级通配符,必须是最后一段)的 MQTT 主题过滤器。示例:sensors/+/temperature 匹配一级;sensors/# 匹配所有子孙级。
AMQP
高级消息队列协议——一种二进制的线级消息传输协议,目前生产环境中有两个不兼容的主要版本:0-9-1(RabbitMQ 传统版)和 1.0(OASIS / ISO/IEC 19464)。
AMQP 0-9-1
由 RabbitMQ 推广的线级协议。定义了包含直连、扇出、主题和头部交换类型的交换机-队列-绑定模型。
AMQP 1.0
OASIS / ISO 标准(ISO/IEC 19464)。定义了 Azure Service Bus、ActiveMQ Artemis 和 SwiftMQ 使用的基于链接的点对点传输模型。
STOMP
简单(或流式)面向文本的消息传输协议——一种基于文本帧的协议,设计为可在任何语言中实现。版本 1.0、1.1、1.2。被 ActiveMQ 和 RabbitMQ 使用。
WAMP
Web 应用消息传输协议——在单个连接上组合 RPC 和发布/订阅模式,通常基于 WebSocket。定义于 wamp-proto.org
WebRTC
Web 实时通信——浏览器级的点对点媒体和数据 API。使用 ICE 进行 NAT 穿透,DTLS-SRTP 进行媒体加密,SCTP-over-DTLS 用于数据通道。
SDP
会话描述协议,在 RFC 8866 中定义。用于 WebRTC 提议/应答交换,描述媒体流、编解码器和 ICE 候选。
ICE
交互式连接建立——NAT 穿透框架,收集候选地址对(主机、服务器反射、中继)并对每对进行连接检查。在 RFC 8445 中定义。
STUN
NAT 会话穿越实用工具——用于发现主机公网 IP 和端口映射的协议。在 RFC 8489 中规定。
RFC 8489
"NAT 会话穿越实用工具(STUN)。"当前修订版;废弃了 RFC 5389。
TURN
使用中继绕过 NAT 进行穿透——一种 STUN 扩展,在点对点路径不可用时通过服务器中继媒体。在 RFC 8656 中规定。
RFC 8656
"使用中继绕过 NAT 进行穿透(TURN):STUN 的中继扩展。"当前修订版;废弃了 RFC 5766。
RTCPeerConnection
表示两个对等点之间连接的 W3C WebRTC API 接口。保存本地和远端 SDP、ICE 状态和媒体轨道。sgcWebSockets 附带一个镜像浏览器 API 的 Delphi 组件(TsgcWebRTCPeerConnection)。
DTLS
数据报传输层安全——适用于 UDP 式不可靠传输的 TLS。WebRTC 用它进行 SRTP 密钥交换。当前版本:DTLS 1.3。
RFC 9147
"数据报传输层安全(DTLS)协议版本 1.3。"最新的 DTLS 规范。
TLS 1.2
传输层安全 1.2,在 RFC 5246 中定义。广泛部署;尚未迁移到 TLS 1.3 的 HTTP/2 端点仍需使用。
TLS 1.3
传输层安全 1.3,当前主要 TLS 修订版。移除了旧密码套件,要求前向保密,支持 0-RTT 恢复。在 RFC 8446 中规定。
RFC 8446
"传输层安全(TLS)协议版本 1.3。"
JWT
JSON Web Token——承载已签名声明的紧凑、URL 安全令牌格式。在 RFC 7519 中定义。用于无状态身份验证。
RFC 7519
"JSON Web Token(JWT)。"规定了声明集、头部格式和序列化规则。
JWS
JSON Web 签名,在 RFC 7515 中定义。JWT 使用的签名机制(头部.载荷.签名)。
JWE
JSON Web 加密,在 RFC 7516 中定义。用于生成加密 JWT 的加密机制。
OAuth 2.0
一种授权框架,允许第三方应用程序在不共享用户凭据的情况下获得对用户资源的有限访问权限。在 RFC 6749 中定义。
RFC 6749
"OAuth 2.0 授权框架。"定义了四种核心授权类型、访问令牌/刷新令牌模型以及授权端点/令牌端点合约。
PKCE
代码交换证明密钥——一种 OAuth 2.0 扩展,可降低公共客户端的授权码拦截攻击风险。在 RFC 7636 中定义。现在所有 OAuth 2.1 客户端均要求使用。
RFC 7636
"OAuth 公共客户端的代码交换证明密钥。"
OAuth Authorization Code grant
Web 和原生应用程序使用的浏览器重定向 OAuth 流程。客户端从授权端点接收授权码,并在令牌端点(服务端,配合 PKCE)将其换取令牌。
OAuth Client Credentials grant
机器对机器的 OAuth 流程,客户端使用自身凭据(无用户)进行身份验证,以获取用于后端服务调用的访问令牌。
OAuth Device Authorization grant
适用于输入受限设备(电视、CLI 工具)的 OAuth 流程。在 RFC 8628 中定义。设备轮询令牌端点,同时用户在辅助设备上进行身份验证。
OAuth Resource Owner Password grant
遗留的 OAuth 2.0 流程,客户端直接收集用户名和密码并发送到令牌端点。在 OAuth 2.1 中已弃用,推荐使用授权码 + PKCE。
OAuth Refresh Token
与访问令牌一起返回的长效令牌。用于在令牌端点获取新的访问令牌,无需再次提示用户。
DPoP
持有证明展示——一种 OAuth 2.0 机制,将访问令牌绑定到客户端持有的密钥对,以降低承载令牌被盗的风险。在 RFC 9449 中定义。
OpenID Connect
构建在 OAuth 2.0 之上的身份层,在访问令牌的同时返回已签名的 ID Token(JWT),并提供标准化的 UserInfo 端点和发现文档。
WebAuthn
W3C Web 身份验证 API,使用由平台认证器或漫游安全密钥支持的公钥凭据进行无密码身份验证。
FIDO2
FIDO 联盟对 WebAuthn 和浏览器与外部认证器之间使用的 CTAP(客户端到认证器协议)的统称。
U2F
通用第二因素——原始 FIDO 第二因素安全密钥协议。已被 FIDO2 / CTAP2 取代,但旧款 YubiKey 仍支持。
Server-Sent Events (SSE)
使用 Content-Type: text/event-stream 的简单文本单向 HTTP 流协议。是 WHATWG HTML 标准的一部分。用于实时通知和 AI 流式响应。
Socket.IO
构建在 WebSocket 之上(带 HTTP 长轮询回退)的高级库,提供房间、命名空间、自动重连和二进制支持。与原始 WebSocket 使用不同的线级协议。
SignalR
微软最初为 ASP.NET 开发的实时库。使用 WebSocket、Server-Sent Events 或长轮询作为传输层,内置基于 Hub 的 RPC 和自动传输协商。
SignalR Core
为 ASP.NET Core 重新设计的 SignalR。使用与经典 SignalR 不同的线级协议——客户端必须与对应的服务器版本匹配。
Pusher
托管的实时消息服务,具有频道和在线状态语义。sgcWebSockets 附带一个类型化的 Pusher 客户端组件。
MCP (Model Context Protocol)
Anthropic 推出的开放协议,用于将工具、资源和提示词从服务器暴露给 LLM 驱动的主机应用程序。sgcWebSockets 同时提供 MCP 客户端(TsgcWSAPIClient_MCP)和服务器(TsgcWSAPIServer_MCP)。
Cloud HSM
以云服务形式租用的硬件安全模块(如 AWS CloudHSM、Azure 专用 HSM、Google Cloud HSM)。密钥从不离开 HSM;签名操作在远程执行。
eIDAS
电子身份识别、身份验证和信任服务——欧盟法规(910/2014,已由 2024/1183 更新),定义合格电子签名(QES)、合格信任服务提供商以及 QES 与手写签名的法律等效性。
Code signing
对可执行文件、库或安装程序应用数字签名,使操作系统和用户在运行前可以验证来源和完整性。Windows 使用 Authenticode;macOS 使用 codesign;Java 使用 jarsigner。
ClickOnce signing
微软为 ClickOnce .NET 应用程序提供的部署清单签名。使用 Authenticode 证书对应用程序清单和部署清单进行签名。
NuGet signing
向 .nupkg 文件添加 PKCS#7 作者或存储库签名,使使用者可以验证软件包的来源。nuget.org 上列出已签名软件包时需要此签名。
VSIX signing
使用 OPC(开放打包约定)签名对 Visual Studio 扩展(.vsix)软件包进行签名,使 Visual Studio 库可以验证来源。
Windows Hello
Windows 10 和 11 中微软的生物特征/PIN 登录功能。构建于 Windows 生物特征框架和平台凭据提供程序之上。
Windows Biometric Framework
Windows 内核模式 + 用户模式框架,通过公共 API 抽象生物特征传感器。sgcBiometrics 直接构建于 WBF(Winbio*)之上。
IOCP
I/O 完成端口——Windows 可扩展异步 I/O 原语。sgcWebSockets Enterprise 版附带一个 Indy 风格的 IOCP 服务器,可扩展到数万个并发 WebSocket 连接。
EPOLL
Linux 可扩展 I/O 事件通知机制。sgcWebSockets Enterprise 版附带一个与 IOCP 设计相匹配的 EPOLL Linux64 服务器。
HTTP.SYS
Windows 内核模式 HTTP 侦听器(IIS 和 Windows Communication Foundation 使用)。Enterprise HTTP.SYS 服务器向内核注册 URL 前缀以实现高吞吐量。
OpenSSL
广泛部署的开源 TLS/密码学库(libssl + libcrypto)。sgcWebSockets 同时支持 OpenSSL 1.0.2/1.1.1 和当前的 OpenSSL 3.x。
SChannel
安全通道——集成到操作系统中的 Microsoft Windows TLS/SSL 提供程序。sgcWebSockets 支持将 SChannel 作为 Windows 上 OpenSSL 的替代方案;无需重新分发 DLL。
gRPC
一种现代的合约优先 RPC 框架,通过 HTTP/2 流使用 Protocol Buffers。支持单一调用、服务器流、客户端流和双向流调用。
Server Push
HTTP/2 机制,允许服务器在客户端请求之前向其推送资源(PUSH_PROMISE)。现在在基于 Chromium 的浏览器中默认禁用;sgcWebSockets 仍支持后端对后端的使用场景。
Multiplexing
在单个传输连接上承载多个独立流。HTTP/2 在一个 TCP 连接上多路复用流;HTTP/3 在一个 QUIC 连接上多路复用流,在传输层无队头阻塞。
Header compression
降低重复 HTTP 头部的线上字节开销。HTTP/2 使用 HPACK;HTTP/3 使用 QPACK。两者都依赖每个连接的最近使用头部字段动态表。
Flow control
防止发送方压垮接收方的机制。HTTP/2 具有由 WINDOW_UPDATE 帧驱动的每流和每连接流量控制窗口。
Keep-alive
定期发送的探测帧,用于通过中间节点保持连接活跃并检测失效的对等方。WebSocket 使用 PING/PONG 控制帧;MQTT 按配置的 KeepAlive 间隔使用 PINGREQ/PINGRESP。
CoAP
受限应用协议——面向受限设备的 RESTful 基于 UDP 的协议,支持可选的 DTLS。在 RFC 7252 中规定。
RCON
Source 远程控制台——Counter-Strike、Garry's Mod 及类似游戏服务器使用的 Valve / Source 引擎远程管理协议。sgcWebSockets 附带一个类型化的 RCON 客户端。

需要定义某个术语?

发现我们未涵盖的术语?发送消息给我们,我们会将其添加进来。