文档章节

string session_cache_limiter ( [string cache_limiter])

 蜗牛奔跑
发布于 2017/07/10 17:33
字数 1341
阅读 16
收藏 0
string session_cache_limiter ( [string cache_limiter])
cache_limiter  要设置的缓存限制的名字
返回缓存限制的名字

但是要值得注意的是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');//支持页面回跳

第一,PHPeader方法设置消息头Cache-c服务器rol 


QUOTE: 
header(Cache-control: private, must-revalidate);  //支持页面回跳 

第二,使用session_cache_limiter方法 


QUOTE: 
  //注意要写在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前加上 


QUOTE: 
session_cache_limiter(nocache);// 清空表单 
session_cache_limiter(private); //不清空表单,只在session生效期间 
session_cache_limiter(public); //不清空表单,如同没使用session一般 

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

 

  第一,PHPeader方法设置消息头Cache-c服务器rol 


QUOTE: 
header(Cache-control: private, must-revalidate);  //支持页面回跳 

第二,使用session_cache_limiter方法 


QUOTE: 
  //注意要写在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前加上 


QUOTE: 
session_cache_limiter(nocache);// 清空表单 
session_cache_limiter(private); //不清空表单,只在session生效期间 
session_cache_limiter(public); //不清空表单,如同没使用session一般 

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

本文转载自:

上一篇: /*按位异或加密
下一篇: 搭建getyii步骤
粉丝 38
博文 615
码字总数 118352
作品 0
海淀
私信 提问
HTTP头 Pragma:no-cache 缓存来源

[转]今天给同事分享了一下前端性能优化,在介绍了php文件缓存的方法后,发现一个AJAX请求的文件,在请求头中始终有一个:Pragma:no-cache,导致这个文件不能被浏览器缓存。接着发现这个站几乎...

jarly
2013/03/09
10.1K
0
php session/完整判断是否https/对象与数组互转/文件下载

(PHP 4 >= 4.3.2, PHP 5) sessionregenerateid — 使用新生成的会话 ID 更新现有会话 ID sessionregenerateid() //在不修改当前会话中数据的前提下使用新的 ID 替换原有会话 ID。//如果启用了...

wsy5344
2015/08/12
104
0
PHP cookie和session的分析

PHP的COOKIE cookie是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。 PHP在http协议的头信息里发送cookie,因此setcookie()函数必须在其它信息被输出到浏览器前调用,这和对heade...

龙上
2011/12/20
130
0
防止表单重复提交的八种简单有效的策略

表单重复提交是在多用户Web应用中最常见、带来很多麻烦的一个问题。有很多的应用场景都会遇到重复提交问题,比如: 点击提交按钮两次。 点击刷新按钮。 使用浏览器后退按钮重复之前的操作,导...

为了美好的明天
2018/04/19
81
1
Cache-control使用Cache-control:private学习笔记

网页缓存由 HTTP消息头中的Cache-control控制,常见取值有private、no-cache、max-age、must- revalidate等,默认为private 其作用根据不同的重新浏览方式,分为以下几种情况: (1)、打开新...

mircle
2017/12/29
1
0

没有更多内容

加载失败,请刷新页面

加载更多

springboot2.0 maven打包分离lib,resources

springboot将工程打包成jar包后,会出现获取classpath下的文件出现测试环境正常而生产环境文件找不到的问题,这是因为 1、在调试过程中,文件是真实存在于磁盘的某个目录。此时通过获取文件路...

陈俊凯
今天
5
0
BootStrap

一、BootStrap 简洁、直观、强悍的前端开发框架,让web开发更加迅速、简单 中文镜像网站:http://www.bootcss.com 用于开发响应式布局、移动设备优先的WEB项目 1、使用boot 创建文件夹,在文...

wytao1995
今天
9
0
小知识:讲述Linux命令别名与资源文件的区别

别名 别名是命令的快捷方式。为那些需要经常执行,但需要很长时间输入的长命令创建快捷方式很有用。语法是: alias ppp='ping www.baidu.com' 它们并不总是用来缩短长命令。重要的是,你将它...

老孟的Linux私房菜
今天
8
0
《JAVA核心知识》学习笔记(6. Spring 原理)-5

它是一个全面的、企业应用开发一站式的解决方案,贯穿表现层、业务层、持久层。但是 Spring 仍然可以和其他的框架无缝整合。 6.1.1. Spring 特点 6.1.1.1. 轻量级 6.1.1.2. 控制反转 6.1.1....

Shingfi
今天
7
0
Excel导入数据库数据+Excel导入网页数据【实时追踪】

1.Excel导入数据库数据:数据选项卡------>导入数据 2.Excel导入网页数据【实时追踪】:

东方墨天
今天
10
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部