【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');
【PHP】- session_cache_limiter(private,must-revalidate)是什么意思的更多相关文章
- Cache-control使用Cache-control:private学习笔记
其作用根据不同的重新浏览方式,分为以下几种情况:(1).打开新窗口值为private.no-cache.must-revalidate,那么打开新窗口访问时都会重新访问服务器.而如果指定了max-ag ...
- Cache-control使用:header('Cache-control:private')
发布:thebaby 来源:net [大 中 小] 转自:http://www.jbxue.com/article/5624.html网页缓存由 HTTP消息头中的“Cache-contr ...
- session_cache_limiter 及 session 常见问题
我点击后退按钮,为什么之前填写的东西不见 这是因为你使用了session. 解决办法: PHP代码:-------------------------------------------------- ...
- Cache-control使用Cache-control:private学习笔记【转载】
网页缓存由 HTTP消息头中的Cache-control控制,常见取值有private.no-cache.max-age.must- revalidate等,默认为private 其作用根据不同的重新 ...
- PHP的学习--cookie和session
最近读了一点<PHP核心技术与最佳实践>,看了cookie和session,有所收获,结合之前的认识参考了几篇博客,总结一下-- 1. PHP的COOKIE cookie 是一种在远程浏览 ...
- PHP的学习--cookie和session--来自copy_02
PHP的学习--cookie和session 最近读了一点<PHP核心技术与最佳实践>,看了cookie和session,有所收获,结合之前的认识参考了几篇博客,总结一下-- 1. P ...
- php session详解
<?php /* * session_abort — Discard session array changes and finish session 舍弃会话序列变化和结束会话 session ...
- COOKIE&&SESSION
---------------------------------------------------------------------------COOKIE------------------- ...
- 使用history.back()出现"警告: 网页已过期的解决办法"
原因: 表单提交页面中使用了 session_start 函数.由于我们后退浏览的是缓存页,而该函数会强制当前页面不被缓存. 解决: PHP: 此提示出现在一个POST提交的页面,点到其它页面后,通过 ...
随机推荐
- vue+nodejs+express+mysql 建立一个在线网盘程序
vue+nodejs+express+mysql 建立一个在线网盘程序 目录 vue+nodejs+express+mysql 建立一个在线网盘程序 第一章 开发环境准备 1.1 开发所用工具简介 1 ...
- web常用软件
编辑器: VSCode HBuilder WebStorm NotePad++ Eclipse Atom 常用插件: SwitchyOmega Vue-Tools server类: tomcat Ng ...
- 【2017 ICPC亚洲区域赛沈阳站 K】Rabbits(思维)
Problem Description Here N (N ≥ 3) rabbits are playing by the river. They are playing on a number li ...
- Oracle VM VirtualBox 安装XP、Win 7
测试要求 为了少写点lr脚本(其实是不会写),看到fiddler的saz格式文件可以由loadrunner 12读取,本机安装了lr 11,打算虚拟机安装lr 12.通过共享文件夹把文件传过去,生成脚 ...
- Java OOP——第三章 多态
1.多态:(polymorphism): 是具有表现多种形态能力的特征: (专业化的说法:)同一个实现接口(引用类型),使用不同的实例而执行不同的操作 指一个引用(类型)在不同情况下的多种状态.也可以 ...
- vue-cli中vuex IE兼容
vue2.0 兼容ie9及其以上 vue-cli中使用vuex的项目 在IE中会出现页面空白 控制台报错的情况:我们只需要安装一个插件,然后在main.js中全局引入即可 安装 npm install ...
- Java8新特性(三)——Optional类、接口方法与新时间日期API
一.Optional容器类 这是一个可以为null的容器对象.如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象. 查看结构图可以看到有如下常用方法: of(T)—— ...
- java性能测试工具 jprofiler
1.下载地址 官方网址:http://www.ej-technologies.com/products/jprofiler/overview.html 2.Eclipse集成 该文(http://ji ...
- sqoop 的使用 -20160410
1 导入导出数据库 1)列出mysql数据库中的所有数据库命令 # sqoop list-databases --connect jdbc:mysql://localhost:3306/ - ...
- I两种冒泡算法
两种冒泡算法: 第一个循环,I 定位当前坐标,第二个循环 把 I 之后的每个数都与 I 比较(比 I 小的都去坐标I),第二个循环之后 坐标 I 为数组里最小的数值. 效率比较高的冒泡算法: stat ...