Ticket机制

Posted maji233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ticket机制相关的知识,希望对你有一定的参考价值。

Ticket简介:把一些常用的不经常改变的信息打包发送给客户端,然后客户端每次请求的时候都把这个信息带过来,这样服务端就可以减少查库或者远程调用的次数

某逛商场,理发,洗浴,住宿,店主或老板在你消费之后会给你一张所谓的“会员卡”,等你再次来消费的时候,只需出示此卡,商家就会视你为其顾客,使你享受该有之优惠并采取积分措施并计入磁卡,此事之办成,全凭一张卡,此卡商家并不保留,而全由顾客持有,为防止会员卡伪造而骗取优惠,可能会员卡上会有一条磁条,该磁条作防伪只用,商家只需将卡在其特定机器上只一刷便可知卡之真伪。对比这个办法,如果会员信息全部保留在商家处而非顾客持有的磁卡,而顾客只需保留自己的姓名等认证信息,那么随着顾客的增加,商家保留的信息将膨胀,最终将商家阻滞在将要成功处。会员卡的方略旨在将信息保存在顾客处而不是商家,这样可以减轻商家的信息记录负担。
计算机信息科学和网络永远都是落后于时代的,会员卡早有人使用,可是在网络上提出类似的机制却只是最近才提出来,在c/s模式的应用或者协议中,服务器最好也由客户端来保持session信息以便恢复一次会话,而不是让客户端来保持各个客户端的session状态,这个办法我可以将之视为ticket机制,也就是服务器会发给客户端一张ticket,要求服务器做某事时,客户端只需要出示一下ticket即可,类似顾客的会员卡。在实际应用中tcp协议的syn cookie机制就是这么做的,这样可以防止tcp半连接攻击,另外tls协议的TicketSession机制也是如此,以往ssl客户端的session信息都是保留在服务器端的,而ticketsession机制可以将信息作为一张ticket保留在客户端,这张ticket是一段加密的信息,所有的ssl客户端的ticket都由服务器端的同一个密钥加密,内中包括该客户端的master secret,它被服务器传给客户端之后,和客户端的master secret保留在一起,待客户端需要恢复一个session时,只需将此加密的ticket传给服务器,服务器用同一个密钥解密之,然后取出对应的客户端信息和master secret,恢复session后继续通信,这样可以保证不在服务器端保留任何客户端的session信息。tcp的syn cookie也一样,tcp服务器将对客户端的syn-ack的seq设置成一个用同一个密钥加密后的数据,然后在客户端最后握手阶段的ack中取出ack号,然后解密之,验证之...
如果理解了会员卡机制,这种计算机网络中的“票据”机制就很好理解了。

以上是关于Ticket机制的主要内容,如果未能解决你的问题,请参考以下文章

java多线程(死锁,lock接口,等待唤醒机制)

著名ERP厂商的SSO单点登录解决方案介绍一

Linux 内核 内存管理RCU 机制 ② ( RCU 机制适用场景 | RCU 机制特点 | 使用 RCU 机制保护链表 )

Linux 内核 内存管理RCU 机制 ② ( RCU 机制适用场景 | RCU 机制特点 | 使用 RCU 机制保护链表 )

锁机制,信号机制及事件机制

Linux 内核 内存管理RCU 机制 ① ( RCU 机制简介 | RCU 机制的优势与弊端 | RCU 机制的链表应用场景 )