简单解释:字段规则required/optional/repeated+请求唯一性+表中参数带"+"+uint32

本文探讨了如何通过增加时间戳来确保HTTP请求的安全性,避免重复提交,并介绍了表结构设计的基本原则,包括字段标记required、optional及repeated的含义与应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、请求的唯一性:防止别人重复使用请求参数,即对应请求只能使用一次,这样就算别人拿走了请求的完整链接也是无效的。

实现方法:在请求参数中,加入时间戳:timestamp,时间戳作为请求参数之一,也进行加密。

 

2、表结构:参数加粗,加+号,注意这是结构体写法,而结构体又可以跟json互相转换

{
    "code":"",
    "message":"",
    "AuthData":{
        "access_token":"",
        "expires_in":""
    }
}

如果是两个+,则表明结构体内嵌结构体。如下

{
    "code":"",
    "message":"",
    "AuthData":{
        "access_token":{
            "expires":""
        }
    }
}

3、表字段规则

1) required:表示是必须字段,发送方必须在发送消息前设置该字段的值。对于接收方,必须能够识别该字段的意思。发送之前没有设置required字段或者无法识别required字段都会引发编解码异常,导致消息被丢弃。

2) optional: 表示是可选字段,发送方在发送消息时可以有选择性的设置或者不设置该字段的值。对于接收方,如果能够识别该字段就进行相应的处理;如果无法识别,则忽略该字段消息中的其它字段正常处理。

  特殊作用: 由于optional字段的特性,很多接口在升级版本中都把后来添加的字段统一设置为optional字段,这样老的版本无需升级程序也可以正常的与新的软件进行通信。但是新的字段无法识别,因为并不是每个节点都需要新的功能,因此可以做到按需升级和平滑过渡。

3) repeated: 表示该字段可以包含0~N个元素。其特性和optional一样,但是每一次可以包含多个值,可以看作是在传递一个数组的值。

uint32:无符号整型32位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值