昨天初步的调侃了一下cookie,希望看官能够有更轻松愉快的学习和进一步的思考应用。

小编今天突然听到人事怨声载道,原来已多日未进行打卡考勤,虽是弹性工作,也颇有不好意思,决定明日改过,进门刷卡。灵机一想,每天进门打卡上下班,正不是一次我们该问网页的过程吗?再仔细琢磨,考勤记录也就是我们在web服务器的session呀。每天我们上班开始记录我们的工作开始,下班记录我们一天的工作结束。正如我们访问一个网页一样,我们打开一个网页正是我们在这个网页的会话开始,我们关闭一个网页或离开一个网页正是我们的会话结束。

我们卡上都记着我们的工号信息,有了工号信息才为我们每天在打卡的时候生成考勤记录。刚说过session就相当于我们的考勤记录所以我们的session也会有一个像工号一样的东西要标记着到底是哪个用户该问的,不然每个用户访问就乱套了,你访问页面请求给了别人,就像你的考勤记录刷在别人身上了,像小编这样的考勤别人早就要叫起来了。因此当我们访问一个网站的时候都会生成一个惟一的seesionId来进行区别的。前面说到是我们每天进行刷卡上班的,卡是在我们每个员工身上的,所以这个sessionid应该也是存放在我们的浏览中的,也就是我们上一篇讲的cookie当中,在访问网站的时候都会带着这个seesionId去区别是不是同一个用户的,在整个网站页面中进行共享一些数据。如果我们的卡掉了,我们也就不能进行打卡考勤了,我们就要重新去人事申请一张新的卡了,就好比我们把浏览器中的cookie禁用了,浏览就保存不了这个sessionId,我们每次访问这个网站的时候,就无法区这个用户是否是同一个用户了,服务器会不断的生成一个新的seesionId,这是一个多么可悲的事情。

我们上班的考勤记录都是存放在公司的服务器上的,而我们的seeion也是存储放在我们的i网站服务器上的,这真是异曲同工这妙呀。考勤记录都是根据我们的工号和日期来生成我们的考勤记录,我们的seeion也是通过一个惟一的称为KEY的东西(也就是我们给他取一个惟一的名字)来区别存储我们的数据的,人事可以通过员工的工号和日期进行查看我们每个人的考勤记录,正如sesson可以通过我们取的这个惟一的名字来区别和获取我们存储的数据。

当我们离开这家公司的时候,我们的考勤记录自然而然也就约束不到我们了,当我们进入一家新的公司,又会生成一个新的工号。session也是一样,当我们关闭浏览器结束访问这个网站的时候,session也就会自然而然的消失了,当我们再次访问这个网站的时候就会生成一个新的sessionId。当然我们在公司一般都受公司的合同约束的,公司合同到期不续签我们离开考勤记录也自然没用了,公司的合同就好比session的过期时间,当到一定时间我们对网页没有任何操作的时候(默认20分钟),session也会无效的,显然我们还是可以续签合同的这样考勤记录还是继续使用的,因此我们也可以对seesion进行设置相应的过期时间,根据我们的业务进行缓存多久。

总结,大致对session的整个生命周期和一些使用初的描述过了,具体一些操作和使用希望看官自已去实践练习,深夜了,该休息,不然明白又没考勤记录了,人事又得叫起来了,多么希望我的工号别人在用呀.......

Session之考勤的更多相关文章

  1. session实现购物车

    为实现简单的购物功能(购物车添加.账户查看.购物车商品删除.实时的购物商品数量及价格的计算显示.购物车商品数量可手动输入等),用session实现了一简单的以php语言为基础.连接MySQL数据库的购 ...

  2. Asp.net Core中使用Session

    前言 2017年就这么悄无声息的开始了,2017年对我来说又是特别重要的一年. 元旦放假在家写了个Asp.net Core验证码登录, 做demo的过程中遇到两个小问题,第一是在Asp.net Cor ...

  3. 懒加载session 无法打开 no session or session was closed 解决办法(完美解决)

           首先说明一下,hibernate的延迟加载特性(lazy).所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作.因为hibernate当中支持实体对象,外键会与实体对象关联起来.如 ...

  4. 探索ASP.NET MVC5系列之~~~6.Session篇(进程外Session)

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  5. Nhibernate的Session管理

    参考:http://www.cnblogs.com/renrenqq/archive/2006/08/04/467688.html 但这个方法还不能解决Session缓存问题,由于创建Session需 ...

  6. nginx+iis+redis+Task.MainForm构建分布式架构 之 (redis存储分布式共享的session及共享session运作流程)

    本次要分享的是利用windows+nginx+iis+redis+Task.MainForm组建分布式架构,上一篇分享文章制作是在windows上使用的nginx,一般正式发布的时候是在linux来配 ...

  7. zookeeper源码分析之六session机制

    zookeeper中session意味着一个物理连接,客户端连接服务器成功之后,会发送一个连接型请求,此时就会有session 产生. session由sessionTracker产生的,sessio ...

  8. [转载]Cookie/Session的机制与安全

    Cookie和Session是为了在无状态的HTTP协议之上维护会话状态,使得服务器可以知道当前是和哪个客户在打交道.本文来详细讨论Cookie和Session的实现机制,以及其中涉及的安全问题. 因 ...

  9. 修改session垃圾回收几率

    <?php //修改session垃圾回收几率 ini_set('session.gc_probability','1'); ini_set('session.gc_divisor','2'); ...

随机推荐

  1. spring注入成员对象

    就是将对象注入到另外一个对象中.这个样例就是有一个学校类,学校类中有一个校长类,最后使用測试文件输出学校类中的信息. 代码结构 学校类 package com.test.SpringGetSet; p ...

  2. mac eclipse配置 tomcat

    mac由于各种软件不兼容,某些软件对于开发来说很苦恼,tomcat这个东西一直不知道怎么弄,项目都开了好几天了,一直用在虚拟机上用windows系统,但是用虚拟机明显感觉到电池待机时间更短了,所以就研 ...

  3. TCP/IP协议原理与应用笔记09:数据通信---封装

    2016-08-091. 数据通信----封装: 2. 协议数据单元: PDU:对等层数据通信的单元. 比如Source端的应用层 和 Destination端的应用层是对等层(L7),这个时候L7 ...

  4. Android(java)学习笔记195:学生信息管理系统案例(SQLite + ListView)

    1.首先说明一个知识点,通常我们显示布局文件xml都是如下: setContentView(R.layout.activity_main): 其实每一个xml布局文件就好像一个气球,我们可以使用Vie ...

  5. 【转】教你爱上Blocks(闭包)

    Block 与传统代码相比较更加轻量,调用简洁方便,而且可以返回多个参数,使用Block可以让代码更加具有易读性,而我们在写回调时,也可以直接写在函数内部,而不用再去写一个回调函数 Block 闭包 ...

  6. birt 运行环境搭建(部署到tomcat)

    最近一直在研究eclipse的birt,各种坑~~~~(>_<)~~~~. Requirements:tomcat version:7.0,birt-runtime-4.6.0-20160 ...

  7. 谈谈IT人的发展[转载]

    一个人如果能确定他喜欢的行业,他一生都会非常幸福.   相反,则往往痛苦,也许竟然会因此成为一个哲学家也说不定. 中国的贫穷决定了我们当中的大多数人不能根据自己的爱好来选择职业,而只是因为生活所迫,或 ...

  8. TalkingData Cocos2dx在android平台使用总结

    前言:最近发现很多朋友在使用TalkingData游戏版本Cocos2dx SDK使用过程中会出现的一些问题,今天来做一下总结,希望对您有所帮助: 首先非常感谢您使用TalkingData游戏统计平台 ...

  9. 在fragment中获取他附着的activity中的变量

    final String data=(关联的activity类)getActivity().getData(); getData();自定义的方法

  10. 关于jQuery表单校验的应用

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...