资讯专栏INFORMATION COLUMN

php表单提交后再后退 内容则默认清空的解决方法

Joyven / 1540人阅读

摘要:指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。指示客户机可以接收生存期不大于指定时间以秒为单位的响应。指示客户机可以接收超出超时期间的响应消息。

转载原文地址: http://www.jquerycn.cn/a_14422

在session_start()之后,字符输出之前加上header("Cache-control: private");
网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。

其作用根据不同的重新浏览方式分为以下几种情况:

打开新窗口
值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。而如果指定了max-age值,那么在此值内的时间里就不会重新访问服务器,例如:Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不会去服务器)

在地址栏回车

值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。

值为no-cache,那么每次都会访问。

值为max-age,则在过期之前不会重复访问。

按后退按扭

值为private、must-revalidate、max-age,则不会重访问。

值为no-cache,则每次都重复访问。

按刷新按扭

无论为何值,都会重复访问

Cache-control值为“no-cache”时,访问此页面不会在Internet临时文章夹留下页面备份。
另外,通过指定“Expires”值也会影响到缓存。例如,指定Expires值为一个早已过去的时间,那么访问此网时若重复在地址栏按回车,那么每次都会重复访问: Expires: Fri, 31 Dec 1999 16:00:00 GMT,比如:禁止页面在IE中缓存http响应消息头部设置:

CacheControl = no-cache
Pragma=no-cache
Expires = -1

Expires,如果服务器上的网页经常变化,就把它设置为-1,表示立即过期。如果一个网页每天凌晨1点更新,可以把Expires设置为第二天的凌晨1点。

当HTTP1.1服务器指定CacheControl = no-cache时,浏览器就不会缓存该网页。

旧式 HTTP 1.0 服务器不能使用 Cache-Control 标题。

所以为了向后兼容 HTTP 1.0 服务器,IE使用Pragma:no-cache 标题对 HTTP 提供特殊支持。

如果客户端通过安全连接 (https://)与服务器通讯,且服务器在响应中返回 Pragma:no-cache 标题,则 Internet Explorer不会缓存此响应。注意:Pragma:no-cache 仅当在安全连接中使用时才防止缓存,如果在非安全页中使用,处理方式与 Expires:-1相同,该页将被缓存,但被标记为立即过期。

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消息的值,那么客户机可以接收超出超时期指定值之内的响应消息。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/30623.html

相关文章

  • php表单提交后再后退 内容默认清空解决方法

    摘要:指示对于单个用户的整个或部分响应消息,不能被共享缓存处理。这允许服务器仅仅描述当用户的部分响应消息,此响应消息对于其他用户的请求无效。指示客户机可以接收生存期不大于指定时间以秒为单位的响应。指示客户机可以接收超出超时期间的响应消息。 转载原文地址: http://www.jquerycn.cn/a_14422 在session_start()之后,字符输出之前加上header(Cac...

    hightopo 评论0 收藏0
  • 手机端页面在项目中遇到一些问题及解决办法(持续更新)

    摘要:解决页面使用在上滑动卡顿的问题首先你可能会给页面的和增加了然后就可能造成上页面滑动的卡顿问题。页面橡皮弹回效果遮挡页面选项卡有时和的去除掉问题可能就没有了。该行无文字时,光标高度与的一致。 1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题。解决方案...

    teren 评论0 收藏0
  • 手机端页面在项目中遇到一些问题及解决办法(持续更新)

    摘要:解决页面使用在上滑动卡顿的问题首先你可能会给页面的和增加了然后就可能造成上页面滑动的卡顿问题。页面橡皮弹回效果遮挡页面选项卡有时和的去除掉问题可能就没有了。该行无文字时,光标高度与的一致。 1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题。解决方案...

    wyk1184 评论0 收藏0
  • 手机端页面在项目中遇到一些问题及解决办法(持续更新)

    摘要:解决页面使用在上滑动卡顿的问题首先你可能会给页面的和增加了然后就可能造成上页面滑动的卡顿问题。页面橡皮弹回效果遮挡页面选项卡有时和的去除掉问题可能就没有了。该行无文字时,光标高度与的一致。 1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题。解决方案...

    Cristic 评论0 收藏0

发表评论

0条评论

Joyven

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<