对于初学者来说,Token和Session的应用不可避免地局限于困境。在整个开发设计过程中,我们知道这个东西,却不知道为什么要用。不知道基本原理。今天我就带大家来分析一下这个事情。
首先,我们先解释一下他的意思:
1.Token介绍:Token经常在手机客户端向服务器端询问数据信息,服务器端经常去数据库查询登录名和登录密码并进行对比,以区分登录名和登录密码是否合适,并做相对提醒。在这样的情况下,Token应运而生。
2.Token的定义:Token是服务器转换的字符串数组,作为手机客户端申辩的动态密码。第一次登录后,网络服务器将该令牌转换并返回给手机客户端。之后手机客户端只需要携带这个Token就可以为数据信息求情了,不用再携带登录名和登录密码。
3.应用Token的目的:Token的目的是缓解网络服务器的工作压力,减少频繁的数据库查询,使网络服务器更强大。
了解Token的实际意义后,我们会更好地理解为什么要使用它。
二、Token怎么用?
这是本文的重点,在这里我还详细介绍了两种常用的方法。
1.使用机器设备的设备号/mac详细地址作为令牌(强烈推荐)
手机客户端:登录时,手机客户端获取机器的设备号/mac详细地址,作为参数传送给服务器。
服务器端:接收到主参数后,服务器端接受带有自变量的查询,并将其作为Token存储在数据库中,并在会话中设置Token。手机客户端每次高兴都要统一屏蔽,将手机客户端发送的令牌和服务器会话中的令牌进行比较。相同的海关放行,不同的海关拒收。
分析:此时手机客户端和服务器统一了唯一的Token,保证每台机器都有唯一的通话。这种方法的缺陷是手机客户端必须以设备号/mac详细地址作为参数传输,服务器也必须存储;优点是手机客户端不需要重新登录。如果一次登录就可以一直使用,请求超时的问题由网络服务器解决。怎么处理?如果网络服务器的Token请求超时,网络服务器只需要在数据库查询中查找手机客户端发送的Token,另外取值到自变量Token,这样Token请求超时就被重新记录下来。
2.使用会话值作为令牌
移动客户端:移动客户端只需携带登录名和密码即可登录。
手机客户端:手机客户端收到登录名和登录密码后,会进行区分。如果合适,它会将本地获得的sessionID作为Token返回给手机客户端,然后手机客户端只需要携带恳求数据信息即可。
分析:这种方式的优点是方便,不需要存储数据信息,缺点是会话到期后,手机客户端必须重新登录才能浏览数据信息。
3.整个申请过程中的问题及解决方法?
刚才我们很轻松的详细介绍了Token的两种应用方法,但是在整个应用的过程中,还是有各种各样的问题。在令牌的第一种方法中,我们隐藏了当网络不稳定或有高并发请求时重复提交数据信息的问题。
总结:以上是我在开发设计中应用Token和session的总结。如果有不恰当的描述,请立即改正,我会改正,谢谢。我理解应用方法越来越多。这里只做自我推荐,期待大家明确提出你的申请方式。我们一起讨论,一起学习,一起训练,一起发展。此外,我们将对我那些对这些方面缺乏了解的朋友表示一些帮助和感谢。