专栏首页姬小光如何定义和统计用户的登录次数?

如何定义和统计用户的登录次数?

正文约 2000 字,阅读大约需要 6 分钟

目标读者:0-3 岁产品运营

技术难度:★☆☆☆☆

大家好,我是姬小光,欢迎来到我的专栏!本期我们来聊聊互联网产品的登录是怎么回事儿,以及如何合理地定义用户的登录次数。

那就先从我们浏览网页开始说吧。当我们打开浏览器的时候,输入一个网址,敲了回车之后,就向远程服务器发送了一个请求。这里的远程服务器,可以理解为另外一台电脑,上面存着你想要的东西。那么,这个远程服务器收到你的请求之后,就会返回给你特定的内容。

这个一来一回的过程,是无状态的。什么意思呢?就是说,如果你再执行一次同样的动作,远程服务器是不知道你前面已经操作过的,这个,就叫做无状态。

那为啥不能有状态呢?这个是由互联网基础设施 HTTP 协议的特性所决定的,现阶段就是如此,不必纠结。

那么,无状态的问题在哪里呢?很明显,作为服务端,不管你来了多少次,我还是不认识你。即使你直接告诉我,你是某某某,我也只能说:我并不能验证你到底是谁。

因此,为了能够实现更复杂的功能,就有了 Cookie 和 Session 技术。前者,你可以理解为,服务器在你的浏览器里,存了一小段数据;而后者,你可以理解为,服务器自己拿小本本记录了,跟你相关的一小段数据。

所以整个过程就变成这样了:浏览器发送请求的时候,带上了 Cookie,告诉服务器你是谁。服务器拿到 Cookie 后,验证你是你,并且将你的状态记录在 Session 中。那么,从技术上来讲,登录的过程就是:你提交给服务器一些信息,服务器验证通过之后,开始为你服务,并且记录了你的状态。这个过程就叫做会话。顾名思义,这就好像你在跟服务器谈话交流,交流之前要先认识一下,然后服务器就记住你了。而只要服务器还记得你,你就是有“登录态”的,我们后面会用到这个概念。

那么,服务器记住你之后,如果你再也不来了呢?要过多久才能把你忘记呢?这就涉及到了,会话的有效期。我们假设,最极端的情况下,有效期为 0 秒。那就退回到了无状态的阶段,就是啥也记不住,再来几遍我也不认识你。

那要是有效期是一万年呢?就是这一万年里,你随时来我都记得你。

大家可以想一下,首先,记一万年,脑子肯定要很强大了,那对应的就是服务器的存储空间要很大,浪费资源;其次,服务器认识你,是通过 Cookie 中的凭证,而不是人脸识别,人脸识别的话可以另说。那这个 Cookie 就可能被别人盗取,别人拿着你的身份来验证,也能通过,这就可能泄露你的个人信息。所以你看,会话的有效期设置也是一门艺术,适当的时候,还是要再重新验明正身才行。

但是,如果你一直操作的话,大部分的网站都会对会话进行续期。试想一下,你跟一个人明明一直在聊天,他忽然说我不认识你了,请出示身份证,那场景该有多尴尬。网站也是一样的,如果你处在会话有效期内,并且一直有动作,那么系统会在即将过期的时候给你续上,让你进入下一个有效期,至于续多久,那就看系统的策略了。

好了,回到我们最初的问题。假设你去网吧包夜,登录并浏览了某个图片视频网站,连续看了七天七夜,这算登录几次呢?

如果你定义这是一次登录,那么按照登录来统计用户的活跃度就会有问题,这个用户明明活跃了七天,却只记录了一次活跃。这里要想统计真正的活跃,就要看看,这个用户在七天内的 PV,也就是说,我们要拿到带有用户登录态的页面浏览数据,才能统计真正的活跃,只看登录次数是不行的。

我们再假设一种情况,你包夜浏览了两天图片视频网站,然后关掉了浏览器,打了一天的游戏,又回来继续浏览图片视频网站。发现不用重新输入用户名和密码,直接打开页面就能继续浏览,那这算登录几次呢?

从行为上看,你明明是两次打开浏览器,进入网站,但是只输入了一次用户名和密码,因为服务器的会话有效期大于两天,所以不用重新输入也能使用。那么,这种情况下,如果想记录为两次活跃,只看登录次数也是不行的。

所以你看,严格意义上来说,用户的登录次数,就是输入用户名密码,并且验证通过的次数。但对于业务来说,这个数据意义并不大。因为会话有效期可能一直续期,也可能卡在需要续期的时间点,用户并没有操作,然后当用户想操作的时候,立马又需要重新登录。所以,登录次数的意义不大,要结合续期情况和用户的具体行为分析,才有意义。

综上所述,你说的登录次数,可能跟我说的登录次数,完全不是一回事,所以,如果要统计你说的登录次数,就要清楚地描绘出用户的具体行为,比如带有登录态的时候,每次打开我们的网站,就算一次登录,类似这种。这样一来,登录次数的口径,其实就变成了业务指标,所以你也不用太纠结技术上是什么定义了,了解一下原理就够了。

本文分享自微信公众号 - 姬小光(hi-laser),作者:姬小光

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何查看域用户登录的计算机

    在内网渗透的过程中,经常会遇到需要查看域用户登陆了哪些机器,目前我们收集整理了三种方法,给大家分享出来。

    Ms08067安全实验室
  • 「实用教程」登录失败超过一定次数如何锁定帐号?

    本教程作者是「小灯光环」,作者简介:全栈开发工程师,CSDN博客专家,CSDN论坛 Java Web/Java EE版主,热爱技术,乐于分享,在分布式Web开发...

    用户1093975
  • 如何修改EasyNVR视频监控系统的登录用户名?

    不管是测试版本还是正式版本,EasyNVR视频监控系统都可支持自行修改用户名。我们也经常会遇到需要修改用户名的用户,因此在这里分享一个修改教程,大家可以对照操作...

    TSINGSEE青犀视频
  • github 授权登录教程与如何设计第三方授权登录的用户表

    需求:在网站上想评论一篇文章,而评论文章是要用户注册与登录的,那么怎么免去这麻烦的步骤呢?答案是通过第三方授权登录。本文讲解的就是 github 授权登录的教程...

    夜尽天明
  • 数亿的用户,如何统计独立用户访问量?

    众所周至,拼多多的待遇也是高的可怕,在挖人方面也是不遗余力,对于一些工作3年的开发,稍微优秀一点的,都给到30K的Offer,当然,拼多多加班也是出名的,一周上...

    程序员小明
  • 浅谈如何定义和调用Python的函数

    函数是python编程核心内容之一,笔者在本文中主要介绍下函数的概念和基础函数相关知识点。函数是什么?有什么作用、定义函数的方法及如何调用函数。 函数是可以实现...

    企鹅号小编
  • 数据分析师如何自力更生统计用户行为频次?

    不懂数据分析的 growth hacker 不是好运营。近日我想要统计我家产品 xue.cn 用户的编程自学行为的频次,且在不给技术开发部门带来任何新需求的情况...

    刘娟娟PRESSone
  • 登录成功后,如何同步用户产生的各种数据

    前几篇我们介绍了如果通过RabbitMQ发布一个简单的消息,再到工作队列,多个消费者进行消费,最后再到工作队列的分发与消息的应答机制(ACK);

    一个程序员的成长
  • 在jMeter里如何创建用户定义的能生成随机数的变量

    使用jMeter进行API的并发请求测试时,我们经常需要生成一些包含随机数的数据,以此来区分每个随机请求。

    Jerry Wang
  • 【怎么办】004 如何找到删库跑路的人--监控数据库用户登录

    关键字(Keyword):session,audit,unified audit,会话

    SQLplusDB
  • 高楼翻译:并发用户数的估算方法(请仔细看译者注)

    原文名:《Method for Estimating the Number of Concurrent Users》 2004年

    高楼Zee
  • 多次登录失败用户被锁定及使用Pam_Tally2解锁

    在linux系统中,用户多次登录失败会被锁定,一段时间内将不能再登录系统,这是一般会用到Pam_Tally2进行账户解锁。

    孙杰
  • mysql根据分组和条件查询以后如何统计记录的条数

    1、子查询,查询出的数据随便起一个别名,然后根据分组和条件查询出的数据,作为一个具有一列的一个表,然后外面的查询查询这个数据表的这一列的总数,即可。    

    别先生
  • Java基础-12(02)总结Scanner,String

    (6)字符串的案例 A:模拟用户登录 B:字符串遍历 C:统计字符串中大写,小写及数字字符的个数 D:把字符串的首字母转成大写,其他小写 E:把int...

    Java帮帮
  • R语言自定义两种统计量度:平均值和中位数,何时去使用?

    最常用的两种统计量度是平均值和中位数。两种度量均指示分布的中心值,即预期大多数数据点所处的值。但是,在许多应用程序中,考虑到手头的数据,考虑两种方法中的哪一种更...

    拓端
  • 漫谈单点登录(SSO)

    SSO这一概念由来已久,网络上对应不同场景的成熟SSO解决方案比比皆是,从简单到复杂,各式各样应有尽有!开源的有OpenSSO、CAS ,微软的AD SSO,及...

    人生不如戏
  • 漫谈单点登录(SSO)

    人生不如戏
  • SSO详解(转)

    人生不如戏
  • EasyDSS如何配置才能禁止非登录用户在系统外播放分享链接的视频流?

    在线教育课堂直播点播平台EasyDSS服务默认是可以通过分享链接随时随地在Web分享播放,不限制用户的登陆与否。只需通过连接,外网或者非登录用户均可直接观看视频...

    TSINGSEE青犀视频

扫码关注云+社区

领取腾讯云代金券