客户端通过发送DELETE_Handle 请求到相关的Handle 服务器来删除已经存在的Handle。DELETE_Handle 请求的消息头必须将<OpCode>设置为OC_DELETE_ Handle。
DELETE_Handle 请求的消息体编码如下:
<Handle>:一个UTF-8 编码的字符串,DELETE_Handle 请求要删除的Handle 码。
当服务器接收到DELETE_Handle 请求时,服务器首先要验证客户端是否拥有DELETE_Handle 的管理员权限。当权限验证通过后,服务器会处理删除请求,删除服务器已存在的<Handle>。如果删除成功,服务器将返回RC_SUCCESS 信息到客户端。(www.xing528.com)
每个DELETE_Handle 请求必须作为一个事务处理来执行。如果在执行删除过程中出现错误,整个操作必须回滚。例如,服务器在删除<Handle>下的任一Handle 值时出错,服务器都要返回错误,并且不执行任何删除操作。这种情况可能会发生在<Handle>下存在既没有PUB_WRITE 的权限,也没有ADMIN_WRITE 的权限的Handle 值。在这种情况下,Handle 服务器会返回错误信息并且将<ResponseCode>设置为 RC_PERMISSION_DENIED。当一个DELETE_Handle 请求发送的<Handle>不存在时,同样会发生错误,此时服务器返回相应错误信息,并将<ResponseCode>设置为RC_Handle_NOT_EXIST。
通过删除在GHR 中相应的命名授权机构,DELETE_Handle 请求同样可以被用来删除命名授权机构。在删除命名授权机构Handle 前,服务器必须将客户端认证为命名授权机构 Handle 的管理员。只有拥有对应DELETE_NA 权限的管理员才可以删除命名授权机构,即根级命名授权机构可以被根Handle(0.NA/0.NA)的管理员删除。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。