• 【PHP】- session_cache_limiter(private,must-revalidate)是什么意思


    • session_cache_limiter(private,must-revalidate)是什么意思

      表义一:

      指定会话页面所使用的缓冲控制方法:
      当session_cache_limiter('private')时,用处是让表单history.go(-1)的时候,填写内容不丢失!就避免页面失效的警告!

      表义二:

      这个会话与header('cache-control:private,must_revalidate');效果相同。要值得注意的是session_cache_limiter()方法要写在session_start()方法之前才有用;

    在开发过程中,往往因为表单出错而返回页面的时候填写的信息都不见了,为了支持页面回跳,可以通过两种方法实现。

    第一、使用Header方法设置消息头Cache-control
    header('Cache-control: private, must-revalidate');//支持页面回跳

    第二、使用session_cache_limiter方法
    引用:
    //注意要写在session_start方法之前
    session_cache_limiter('private, must-revalidate');

    补充:
    Cache-Control消息头域说明
    Cache-Control指定请求和响应遵循的缓存机制。在请求消息或响应消息中设置Cache-Control并不会修改另一个消息处理过程中的缓存处理过程。请求时的缓存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if- cached,响应消息中的指令包括public、private、no-cache、no-store、no-transform、must- revalidate、proxy-revalidate、max-age。各个消息中的指令含义如下:

    Public指示响应可被任何缓存区缓存。

    Private指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。

    no-cache指示请求或响应消息不能缓存

    no-store用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。

    max-age指示客户机可以接收生存期不大于指定时间(以秒为单位)的响应。

    min-fresh指示客户机可以接收响应时间小于当前时间加上指定时间的响应。

    max-stale指示客户机可以接收超出超时期间的响应消息。如果指定max-stale消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

    关于表单刷新

    问:为什么我在点击浏览器的后退按钮后,所有字段的信息都被清空了?

    答:这是由于你在你的表单提交页面中使用了 session_start 函数。该函数会强制当前页面不被缓存。解决办法为,在你的 Session_start 函数后加入 header(双引号Cache-control: private双引号); 注意在本行之前你的PHP程序不能有任何输出。

    补充:还有基于session的解决方法,在session_start前加上
    引用:
    session_cache_limiter('nocache');// 清空表单
    session_cache_limiter('private'); //不清空表单,只在session生效期间
    session_cache_limiter('public'); //不清空表单,如同没使用session一般

    可以在session_start();前加上 session_cache_limiter('private,max-age=10800');

  • 相关阅读:
    并发与多线程
    java多线程--死锁
    java变量
    StringStringBufferStringBuilder区别
    java8新特性
    spring自动装配和通过java实现装配
    CSP -- 运营商内容劫持(广告)的终结者
    【Composer】实战操作二:自己创建composer包并提交
    【个人重点】开发中应该重视的几点
    【Composer】实战操作一:使用库
  • 原文地址:https://www.cnblogs.com/wangwust/p/8505632.html
Copyright © 2020-2023  润新知