• 关于session_cache_expire 的理解


    session_cache_limiter,它是session在客户端的缓存方式,有nocache,private,private_no_expire,publice主这几种。

    cache是属于浏览器的特性,它决定你浏览网页的缓存方式,没有缓存的情况会使你按浏览的“后退”键时提示要你更新连接,之前的内容就没有了,比如你填入的表单信息,都被丢失。
    通过header("Cache-Control: no-store, no-cache, must-revalidate");函数也一样达到效果。

    然而,session的处理机制里,就强制自动调用了header函数设置cache,这个置就由php.ini中的缺省值session.cache_limiter值或由session_cache_limiter函数设定所取代。

    session_cache_limiter内的几个参数意义是:
    nocache:当然是不缓存(比如:表单信息被清除),但公共变量可以缓存
    private:私有方式缓存(比如:表单信息被保留,但在生存期内有效)
    private_no_cache:私有方式但不过期(表单信息被保留)
    publice:公有方式,(表单信息也被保留)

    它们之间的具体区别,我还不是太清楚,可以区别的是除nocache外其它的都可以缓存,private方式还受生存期影响,这个生存期应该是由session.cache_expire给定,它在php.ini中设置或session_cache_expire函数设置,缺省是180分钟。

    不过,我做过试验,设置session.cache_expire置为1分钟,但实际情况不起作用,cache过一分钟后还是不过期,我的测试代码在下面,希望高手指点是什么原因,多谢!

     1 <?PHP
     2 if (isset($_POST['username'])) {
     3 $sess_lim = array("none","nocache","private","private_no_expire","public");
     4 
     5 //session_cache_expire(1);
     6 //session_cache_limiter( $sess_lim[2] );
     7 echo "sess_lim:".$sess_lim[2];
     8 session_cache_limiter('private');
     9 session_cache_expire(1);
    10 $cache_expire = session_cache_expire();
    11 
    12 session_start();
    13 $_SESSION["username"] = $_POST['username'];
    14 ++$_SESSION["count"] ;
    15 echo "<pre>";
    16 print_r($_SESSION);
    17 echo "</pre>";
    18 echo "</ p></ br>";
    19 echo 'sessID:'.session_id();
    20 
    21 };
    22 ?>
    23 <form action="" method="post">
    24 <input type="text" name="username" value="<?php echo $_SESSION['username']?>">
    25 <input type="submit" name="Submit" value="提交">
    26 </form>
    27 </ br>
    28 
    29 <?PHP
    30 //phpinfo();
    31 echo "expire:".session_cache_expire()."分钟";
    32 ?>

    另外,浏览器缓存的工作机理是什么?它对静态或动态的内容是如果管理控制的?

  • 相关阅读:
    PHP中的类函数和类对象
    PHP魔术方法__clone()篇
    PHP魔术方法__tostring()篇
    PHP魔术方法__call()篇
    自己写的PHP的mql类
    PHP的分页
    ThinkPHP的调用css,js和图片的路径
    JavaScript作用域链
    在Eclipse中开发WEB项目
    eclipse官方网址、各个版本的下载
  • 原文地址:https://www.cnblogs.com/wellsoho/p/4901540.html
Copyright © 2020-2023  润新知