首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >确定网站的会话时间

确定网站的会话时间
EN

Stack Overflow用户
提问于 2010-11-12 23:25:51
回答 1查看 217关注 0票数 0

对于我的一个类,我们需要计算访问网站的用户的会话长度。我们得到了一个网络日志。网络日志采用这种格式:

代码语言:javascript
运行
复制
IPAddress date httpMethod httpStatus size referrer browserInfo 

GET /include/main_page.css HTTP/1.1

  • The

  • httpMethod看起来是这样的: referrer总是主页:http://www.cs.myCollage.com-

我使用的超时值为20分钟。

问题:,我不知道如何判断会话何时结束,而不是何时超时。是用超时结束会话的唯一方法吗?是否有方法检测用户何时离开网站(仅使用日志中的信息)?

这是我当前的策略(假设我们有这些日志):

代码语言:javascript
运行
复制
IPAddress    Time    httpMethod    ...
IP1          2:15    GET something
IP1          2:17    GET something else
IP1          2:30    GET something else
IP1          4:30    GET something else
IP1          4:32    GET something else

这意味着用户有两个会话。我认为第一次会议将是 15分钟 35分钟。我应该在会话时间中包括超时吗?

第二届会议将在2分钟至22分钟之间举行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-13 00:37:55

超时值用于分隔来自同一个IP的不同会话(不一定是同一个人)。在您的示例中,您有两个不同的会话,因为从2:30到4:30的时间段大于超时值。

至于确定课时长度,这可能是简单的课堂作业解决方案,也可能是老师想要的:从结束时间中减去开始时间。在你的例子中,第一次会议15分钟,第二次2分钟。

如果这将是一个真实的项目,那么也许每个会话的最后一页也应该被赋予一些价值。为此,可以使用时态局部性方法:

最后一次GET的持续时间可以用它之前的所有页面的平均持续时间来估计。在你的例子中(2: 15 ,2:17,2:30)前两页持续了15分钟,所以估计访问者速度有点慢和/或彻底,第三页持续7.5分钟,会话总数为22.5分钟。从(4:30,4:32)我们推断,最后一页持续了2分钟,会话总数为4分钟。在只有一个页面访问的特殊情况下,您必须有一些持续时间的任意值,比如1分钟。

另一种方法是为每一页设置一个值。有些页面比其他的要花更多的时间来阅读。这意味着您必须读取整个日志,并确定每个页面在会话中的平均访问时间,并将此时间用于页面在会话中的最后一次访问。这是更复杂,可能不是你的家庭作业问题的答案。

最好的现实世界解决方案可能是这两种方法的混合。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4169936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档