|
|
|
|
移动端

广东会娱乐账号注册 :Web开发必须掌握的三个技术:Token、Cookie、Session

本文来源:http://www.2233122.com/auto_ifeng_com/

太阳城娱乐网最快登入,为了维持生计,委内瑞拉想尽一切办法获得必需品。警方完成口供后,不再将上述明星列为调查对象![真相]AumLukkana的男友Ball是幕后主使,他也是事发酒吧的幕后老板,在不知道被打者身份情况下,亲口下令让4名保镖往死里打!并在事后喊道:“我是明星老公!明星老公知道吧?!!我怕谁啊!啊!?有本事告倒我啊!?”[处理结果]涉事酒吧被就地拆除,永久停止经营——涉嫌无执照违法经营、勾结清迈黑社会团伙挑衅滋事、蓄意殴打他人以致重伤!警方目前已经开始全面取证,不放过任何可以起诉的罪行![12月3日消息汇总]泰国将领儿子被打进展1——在难府38军区指挥官儿子被围殴之后,总理巴育上将及副总理巴逸上将引起了高度重视,12月2日,该涉事酒吧直接被就地拆除,各类吊车及拆迁设备很快就将该酒吧夷为平地。她也是北京电影学院本届唯一一位保送研究生,但是奇怪的是,在公示的2016年拟录取推荐免试硕士生名单里,孙铱反而是表演学院4位候选人当中分数最低的。过去两年增速两倍于京、沪、深等一线城市。

结合司法实践,在2015年最高院公布的北京地区10起婚姻家庭纠纷典型案例中,也有类似的案件,无过错方要求过错方承担损害赔偿的诉讼请求得到了法院的支持。有分析指出,手机市场持续低迷,再加上部分企业亏损严重,未来会有更多企业考虑的是退出手机市场,而不是进入。报道称,自从特朗普当选美国总统之后,许多国家的货币,包括印尼盾在内,其美元的兑换率都出现或多或少的下降。作者:萨沙本文章为萨沙原创,如果转载请务必注明吕公良的新编29师以区区3000多人,面对20倍数量约8万日军对许昌的合围,却坚持不退,发誓和日军决战到死。

当地官方11月30日在《蒙古矿业月刊》发布通告称,中国内蒙当局将向每辆使用上述通道的车辆征收10元/次的通行费,也将对所运输的货物征收每吨8元的额外费用。  特朗普成功保住1000个职位,瞬得人心!  但是,根据Politico所做的最新民意调查结果显示,特朗普此项政策非常受美国普通民众的支持。两国元首一致认为,中厄建交36年来,双方始终坚持平等相待、互利共赢的原则,推动两国关系不断向前发展。民警立即调取了该商铺内及周边的监控录像,发现“神秘女子”走出商铺后,乘坐由一男子驾驶的白色轿车离开。

在Web应用中,HTTP请求是无状态的。即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session。

作者:一颗小梪梪来源:Web开发|2019-11-12 13:45

在Web应用中,HTTP请求是无状态的。即:用户第一次发起请求,与服务器建立连接并登录成功后,为了避免每次打开一个页面都需要登录一下,就出现了cookie,Session。

Cookie

Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。Cookie存储的数据量有限,且都是保存在客户端浏览器中。不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用Cookie实际上只能存储一小段的文本信息。

例如:登录网站,今输入用户名密码登录了,第二天再打开很多情况下就直接打开了。这个时候用到的一个机制就是Cookie。

Session

Session是另一种记录客户状态的机制,它是在服务端保存的一个数据结构(主要存储的的SessionID和Session内容,同时也包含了很多自定义的内容如:用户基础信息、权限信息、用户机构信息、固定变量等),这个数据可以保存在集群、数据库、文件中,用于跟踪用户的状态。

客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找该客户的状态就可以了。

用户第一次登录后,浏览器会将用户信息发送给服务器,服务器会为该用户创建一个SessionId,并在响应内容(Cookie)中将该SessionId一并返回给浏览器,浏览器将这些数据保存在本地。当用户再次发送请求时,浏览器会自动的把上次请求存储的Cookie数据自动的携带给服务器。

服务器接收到请求信息后,会通过浏览器请求的数据中的SessionId判断当前是哪个用户,然后根据SessionId在Session库中获取用户的Session数据返回给浏览器。

例如:购物车,添加了商品之后客户端处可以知道添加了哪些商品,而服务器端如何判别呢,所以也需要存储一些信息就用到了Session。

如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。

Session生成后,只要用户继续访问,服务器就会更新Session的最后访问时间,并维护该Session。为防止内存溢出,服务器会把长时间内没有活跃的Session从内存删除。这个时间就是Session的超时时间。如果超过了超时时间没访问过服务器,Session就自动失效了。

Token

HTTP请求都是以无状态的形式对接。即HTTP服务器不知道本次请求和上一次请求是否有关联。所以就有了Session的引入,即服务端和客户端都保存一段文本,客户端每次发起请求都带着,这样服务器就知道客户端是否发起过请求。

这样,就导致客户端频繁向服务端发出请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否。而Session的存储是需要空间的,频繁的查询数据库给服务器造成很大的压力。

在这种情况下,Token应用而生。

Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌。当客户端第一次访问服务端,服务端会根据传过来的唯一标识userId,运用一些算法,并加上密钥,生成一个Token,然后通过BASE64编码一下之后将这个Token返回给客户端,客户端将Token保存起来(可以通过数据库或文件形式保存本地)。下次请求时,客户端只需要带上Token,服务器收到请求后,会用相同的算法和密钥去验证Token。

最简单的Token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由Token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接Token请求服务器)。

使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

客户端使用用户名跟密码请求登录

服务端收到请求,去验证用户名与密码

验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端

客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者数据库里

客户端每次向服务端请求资源的时候需要带着服务端签发的 Token

服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据

APP登录的时候发送加密的用户名和密码到服务器,服务器验证用户名和密码,如果成功,以某种方式比如随机生成32位的字符串作为Token,存储到服务器中,并返回Token到APP,以后APP请求时,凡是需要验证的地方都要带上该Token,然后服务器端验证Token,成功返回所需要的结果,失败返回错误信息,让他重新登录。

对于同一个APP同一个手机当前只有一个Token;手机APP会存储一个当前有效的Token。其中服务器上Token设置一个有效期,每次APP请求的时候都验证Token和有效期。

【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

骨干网与数据中心建设案例

骨干网与数据中心建设案例

高级网工必会
共20章 | 捷哥CCIE

410人订阅学习

中间件安全防护攻略

中间件安全防护攻略

4类安全防护
共4章 | hack_man

152人订阅学习

CentOS 8 全新学习术

CentOS 8 全新学习术

CentOS 8 正式发布
共16章 | UbuntuServer

291人订阅学习

读 书 +更多

基于Project2003的项目管理

本书的上一版本《基于Project 2002的项目管理》上市以后得到了读者的欢迎,为了更好地将Project 2003新版本的应用介绍给读者,我们重新进行...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微

申博娱乐城直营网 申博138娱乐 申博手机投注登入 申博官网开户登入 申博会员登入直营网 电子游戏微信支付充值
sun138.comwww 菲律宾申博游戏登入 老虎机支付宝充值 申博游戏手机怎么下载 菲律宾申博太阳城 申博官网娱乐城登入
申博存款提款直营网 申博苹果手机下载 菲律宾申博网址导航 菲律宾申博开户登入 沙龙游戏怎么登入 申博代理开户合作登入