首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Cookie,Session,Token浏览器是如何通过这些验证用户信息的?

浏览器是如何验证用户信息?

HTTP是没有状态的,也就是在你访问任何一个网页的时候,网站的服务器是不认识你是谁的,但是现如今各大网站登陆之后,即使关机重启在一定的时间内都是不需要再次登陆账号的,也就是网站认识你了,并给你推送了你的专属广告。

那么这背后究竟做了那些工作,能够让网站认识你呢?

Cookie

最基本的就是Cookie技术,也就是存储在用户本地终端上的数据。HTTP虽然是无状态的,但是可以携带数据发送给服务器。

我们都知道在一个网站上注册的账号会进入网站的数据库,那么最简单的方式就是对比数据库中的账号和你携带发送来的数据是否一致,这基本上Cookie了。

但是这种方式有一个问题,那就是Cookie是存储在本地的,基本上任何人都可以查看,那么Cookie就存在很大的风险了。

简单来说就是客户端保存信息,服务端不保存不加密。

那么就进入了下一个阶段,增加了安全性。

Session

Session本质上也是Cookie,不同的是这种验证方式是先生成一个一大段无规律的"验证码"以及一个验证时间,在这个时间段内,浏览器携带验证码发送给服务器,服务器就认识你,这一大段验证码即使泄露,也基本上没啥用处。

但是这种方式还有一个问题,那就是在多台服务器,以及大批量用户的情况下Session会力不从心,对服务器负担比较大,不同的服务器需要将验证码共享。

简单来说就是客户端保存信息,服务端即要保存也要加密。

下面就是更加先进的技术出现了。

Token

Token的本质就是在你访问网站时,服务器会返回一串json用户令牌,浏览器会将这个保存在本地,并在之后的访问时携带上,诶,看到这是不是很疑惑,这和Session有什么区别呢?

当然有区别了,Session那一大段的验证码自己也要保存在服务器上,而且还需要解决多个服务器共享的问题,种种问题,而Token是不保存在服务器上的,大大的减小了服务器的压力,当用户携带令牌发送给服务器时,服务器可以用指定算法验证。

简单来说就是客户端保存信息,服务端不保存但是加密。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20220120A07LMM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券