4. 协议元素 (Elements of Protocol)
协议使用抽象语法标记一 (Abstract Syntax Notation One, [ASN.1]) 进行描述,并使用ASN.1基本编码规则 ([BER]) 的子集进行传输。第5节说明了协议元素的编码和传输方式。
为了支持本协议的未来扩展,在ASN.1允许的情况下暗示可扩展性 (即序列 (sequence)、集合 (set)、选择 (choice) 和枚举 (enumerated) 类型是可扩展的)。此外,在 [RFC4520] 中讨论的显式可扩展的ASN.1类型中提供了省略号 (...)。由于暗示的可扩展性,客户端和服务器必须 (MUST) (除非另有说明) 忽略其标签无法识别的尾随SEQUENCE组件。
除了通过此处描述的扩展机制之外,对协议的更改需要不同的版本号。客户端在BindRequest中指示其使用的版本,如第4.2节所述。如果客户端未发送Bind,则服务器必须 (MUST) 假设客户端正在使用版本3或更高版本。
客户端可以尝试通过从根DSE (DSA特定条目, DSA-Specific Entry) [RFC4512] 读取'supportedLDAPVersion'属性来确定服务器支持的协议版本。
4.1. 公共元素 (Common Elements)
本节描述LDAPMessage信封协议数据单元 (Protocol Data Unit, PDU) 格式,以及协议操作中使用的数据类型定义。
注意: 由于第4章包含大量技术细节和子章节 (4.1-4.14),完整内容请参考 RFC 4511官方文档。主要内容包括:
- 4.1 Common Elements (公共元素)
- 4.2 Bind Operation (绑定操作)
- 4.3 Unbind Operation (解绑操作)
- 4.4 Unsolicited Notification (非请求通知)
- 4.5 Search Operation (搜索操作)
- 4.6 Modify Operation (修改操作)
- 4.7 Add Operation (添加操作)
- 4.8 Delete Operation (删除操作)
- 4.9 Modify DN Operation (修改DN操作)
- 4.10 Compare Operation (比较操作)
- 4.11 Abandon Operation (放弃操作)
- 4.12 Extended Operation (扩展操作)
- 4.13 IntermediateResponse Message (中间响应消息)
- 4.14 StartTLS Operation (StartTLS操作)