AMF的核心只是一个ActionScript对象序列化格式。
Flash的NetConnection API扩展了这种格式,通过AMF 0规范第4节中描述的简单标头/消息体请求/响应结构来添加基本的RPC功能。我认为这个RPC的添加可能让您感到困惑,因为它是定义如何从服务器发送和接收AMF数据的各个有效负载的基础结构。例如,通过ByteArray.writeObject,这个包装器不会用于基本的ActionScript对象序列化。它是基于NetConnection的服务器通信的附加逻辑。
实际为标头值或邮件正文值发送的ActionScript数据在AMF中编码。出于兼容性考虑,所有数据值均以AMF 0开始。这可能是在查看基本AMF序列化与基于NetConnection的通信时首先使人们绊倒的另一点。由于添加到AMF 0的特殊扩展,引入了新的0x11“AMF 3”模式标记,将序列化模式切换为AMF 3.不支持AMF 3的旧版客户端无法理解这个新标记并将停止处理数据。这在AMF 0规范的第3节中提到。