zoukankan      html  css  js  c++  java
  • 深入了解session

    session

    • 为了解决在多个请求的页面之间的关联,让多个页面都能读取到某个信息,存在于服务端

    运行机制:
    • 首先如果通过session.start()开启session后,此时会自动生成session_id,用来标识此次是哪个用户在访问

    • 同时会自动向cookie中写入一个名为PHPSESSID的变量,值为session_id,若此次会话没有结束,再次访问时,服务器会读取这个PHPSESSIDcookie是否过期是否有值,如果有则使用;没有会重新生成一个session_id,然后再生成PHPSESSID这个cookie

    • 存储数据:会以sess_前缀 + session_id的形式存在服务器的临时目录中,每生成一个session_id就会新生成一个文件

    • 写入数据:序列化写入,当读取session变量时,先会读取cookie中的PHPSESSID,获取session_id,然后根据这个查找文件获取对应的数据

    • SID是一个系统常量,包含着会话名以及会话ID的常量,如果会话ID已经在cookie中存在的则SID为空

    session的配置

    session.save_handler = files:表示session的存储方式,默认为文件方式

    session.save_path:保存路径

    session.use_cookies:默认值为1,表示会在浏览器创建cookie.。。,

    session.name = PHPSESSID:设置cookie中保存session_id的属性名

    session.auto_start = 0:设置是否默认开启session,默认不开启

    session.cookie_lifetime = 0:设置cookie过期时间

    垃圾回收机制:
    • 代码处理

    • 使用session配置:

      session.gc_probability /session.gc_divisor
      //会话初始时启动gc(garbage collection)的概率,session.gc_divisor默认为100

      session.gc_maxlifetime // 当超过设置时间未调用,就会被认为是垃圾文件
  • 相关阅读:
    SQL Server常用到的几个设置选项
    动态加载母版页
    Sql查询技巧
    【WP7】关于磁贴的使用
    ashx,页面一般情况下不能方法session,必须添加两个接口。才能访问session。 狼
    悟头javascript学习笔记 狼
    IIS处理简介, IHttpHandler ,IHttpModel 狼
    在IIS下,不能执行exe文件解决办法。 狼
    给Ubuntu右键快捷菜单添加终端栏目
    VC 单文档程序 隐藏程序及任务栏图标
  • 原文地址:https://www.cnblogs.com/ashen1999/p/12673315.html
Copyright © 2011-2022 走看看