WhatsApp 的“阅后即焚”功能,即“阅后即焚”模式(View Once Media)和“限时消息”(Disappearing Messages),允许用户发送在特定时间后自动从聊天中消失的消息和媒体文件。这项功能的实现主要依赖于客户端应用程序的逻辑,并利用了 WhatsApp 的端到端加密(E2EE)架构。
WhatsApp “阅后即焚”功能的实现机制
由于 WhatsApp 采用端到端加密,其服务器不存储消息明文内容,这使得“阅后即焚”功能的实现与传统的服务器端删除有所不同,更多地依赖于客户端的行为规范和加密元数据:
1. 消息发送与元数据标记 (Message Sending with Metadata Tag)
发送方启用: 当用户在发送消息或媒体(如照片、视频)时选择“阅后即焚”模式,或者在聊天设置中开启“限时消息”功能并设置了时长(如 24 小时、7 天、90 天),发送方的 WhatsApp 客户端会在原始消息的加密内容中附加一个特殊的元数据标签。
元数据内容: 这个标签指示了消息的“阅后即焚”属性,包括:
ephemeral_type: 例如,view_once(阅后即焚媒体)或 disappearing_message(限时消息)。
timer_duration: 消息消失的时长(例如,1、7、90 天,或对于“阅后即焚媒体”的“阅后即焚”标识)。
(可选)message_seen_timestamp: 对于“阅后即焚媒体”,记录接收方第一次查看的时间。
端到端加密传输: 带有这些元数据的完整加密消息(密文)通过 WhatsApp 服务器进行传输,服务器仍然无法查看消息内容或修改元数据。
2. 接收方客户端的处理 (Recipient Client-Side Processing)
接收和识别: 接收方的 WhatsApp 客户端收到加密消息后,会对其进行解密,并识别出其中包含的“阅后即焚”元数据标签。
计时器启动:
对于**“阅后即焚媒体”:计时器从接收方 科威特 whatsapp 数据库 第一次查看(打开)该媒体文件**时开始。一旦媒体文件被查看过,它就从聊天中消失了。
对于**“限时消息”:计时器通常从消息被发送(投递到接收方设备)**时开始计算。
本地删除: 一旦计时器到期,接收方的 WhatsApp 客户端会自动从其本地设备存储中删除该消息,包括消息文本、媒体文件以及相关的本地文件。
UI 更新: 消息会在聊天界面中消失,或被替换为“消息已删除”或类似提示。
3. 服务器的角色 (Server's Limited Role)
中转与路由: WhatsApp 服务器仍然负责这些“阅后即焚”消息的传输和路由,确保它们能够成功送达所有预定的接收方设备。
不参与删除: 服务器本身不主动参与消息的删除。它不会在计时器到期时发送删除指令给客户端,因为删除逻辑主要由客户端自身根据接收到的元数据执行。
限时消息设置同步: 如果是“限时消息”作为聊天设置,这个设置(如“此聊天已开启限时消息,24 小时后消失”)作为聊天元数据存储在服务器上,以同步到用户的其他设备和群聊成员的设备。
限制与边缘情况
由于其客户端驱动的性质和 E2EE 限制,该功能存在一些已知限制:
用户操作: 在消息消失之前,接收方仍然可以:
复制消息文本内容。
转发消息给其他人(转发后该消息将不再是“阅后即焚”)。
截图或录屏(对于“阅后即焚媒体”,WhatsApp 会尝试在某些平台上通知发送方,但这并非绝对可靠)。
消息备份: 如果在消息消失之前,用户进行了云端备份(如 Google Drive 或 iCloud),那么该消息可能会被包含在备份中。当用户从该备份恢复时,这些消息可能会暂时重新出现,直到客户端再次处理它们的过期逻辑。
引用消息: 如果“限时消息”被引用,引用的部分可能会在原始消息消失后仍然保留在聊天中。
通知: 消息内容可能会出现在通知栏中,即使在聊天中已经消失。
离线接收方: 如果接收方在消息计时器到期之前一直离线,或者在重新上线后未能及时接收到消息,消息也可能直接消失而未被查看(对于“阅后即焚媒体”,只有查看后才计时)。
总而言之,“阅后即焚”功能是 WhatsApp 在其端到端加密框架下,通过在消息中嵌入特殊元数据标签,并由接收方客户端负责在本地计时和删除来实现的,为用户提供了额外的隐私控制层。