session

什么是Session?Session什么时候产生?

   Session:在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。
   简单来说,客户端浏览服务端的时候,服务端把客户端信息以某种形式记录在服务器上,这种记录就是Session。所以Session是保存在服务器上的。

为什么要使用Session?什么是SessionID?

   因为很多第三方可以获取到这个Cookie,服务器无法判断Cookie是不是真实用户发送的,所以Cookie可以伪造,伪造Cookie实现登录进行一些HTTP请求。如果从安全性上来讲,Session比Cookie安全性稍微高一些,我们先弄清一点,SessionID是从哪里来的,sessionID是如何使用的:客户端第一次请求Session对象时候,服务器会为客户端创建一个session,并将通过特殊算法算出一个session的ID,下次请求资源时(Session未过期),浏览器会将sessionID(实质是cookie)放置到请求头中,服务器接收到请求后就得到该请求的SessionID,服务器找到该id的session返还给请求者使用。一个会话只能有一个session对象,对session来说是只看sessionID。按理来说,只要知道SessionID就可以进行伪登录。但是你想得到这个sessionID,得知道别人什么时候进行登录。同时sessionID是加密的,session过期时sessionID也会失效,想在短时间内功破加了密的sessionID有点难度。

Session的生命周期?

   根据需求设定,一般来说,半小时。举个例子,你登录一个服务器,服务器返回给你一个sessionID,登录成功之后的半小时之内没有对该服务器进行任何HTTP请求,半小时后你进行一次HTTP请求,会提示你重新登录。这就是我们常说的Session已失效,也就是说就算的session_id还存在,但是session照样会结束自己的生命周期。

最新文章

  1. [APUE]UNIX进程的环境(上)
  2. 【WP8.1】类似“IT之家” 自定义消息 的实现
  3. Linux启用和配置Java
  4. dev TreeList拖拽
  5. 没有QQ的日子
  6. 父窗口window.showModalDialog传值 子窗口window.returnValue返回值
  7. C# 读写excel 用于导入数据库 批量导入导出excel
  8. OpenLayers中地图缩放级别的设置方法
  9. ios如何生成crash报告
  10. [办公自动化]利用Acrobat完成问卷调查或者考试卷
  11. mybatis动态sql中foreach标签的使用
  12. CSS其他
  13. A Tour of Go Images
  14. 清空DNS缓存
  15. listview——显示窗体
  16. uva10635 LCS映射转LIS
  17. 什么是IAT重定向
  18. vs2015 c# winfrom应用程序打包成64位
  19. 用汇编语言角度来理解C语言的一些问题
  20. Oracle的DQL

热门文章

  1. Branch policies on Azure Repos
  2. 7、c++版,在大学学的编程基础知识
  3. POJ 2001 Shortest Prefixes (Trie)
  4. 运维02 Shell基础命令(一)
  5. C/S and B/S
  6. java中多态的要点
  7. 现在就去100offer 参加互联网人才拍卖! 现在登录现在注册 为什么整个互联网行业都缺前端工程师?
  8. os.fork()----linux
  9. 转 笔记本无线和有线的MAC地址修改
  10. 关于pandas