当前位置: 首页 > 后端技术 > PHP

php表单提交后,默认清除内容,解决方法

时间:2023-03-29 23:24:54 PHP

转载原文地址:http://www.jquerycn.cn/a_14422session_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,31Dec199916:GMT00:00例如:forbidden页面在IE中缓存http响应消息头设置:CacheControl=no-cachePragma=no-cacheExpires=-1Expires,如果服务器上的网页变化频繁,设置为-1,即意味着它将立即过期。如果一个网页每天凌晨1点更新,您可以将Expires设置为第二天凌晨1点。当HTTP1.1服务器指定CacheControl=no-cache时,浏览器不会缓存网页。旧版HTTP1.0服务器不能使用Cache-Control标头。因此,为了向后兼容HTTP1.0服务器,IE使用Pragma:no-cache标头为HTTP提供特殊支持。如果客户端通过安全连接(https://)与服务器通信,并且服务器在响应中返回Pragma:no-cache标头,则InternetExplorer将不会缓存响应。注意: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-存储、无转换、必须重新验证、代理重新验证、最大年龄。每条消息中的指令含义如下:Public表示该响应可以被任何缓存缓存。Private表示共享缓存无法处理单个用户的全部或部分响应消息。这允许服务器仅为用户描述对其他用户的请求无效的部分响应消息。no-cache表示请求或响应消息不能被缓存。no-store用于防止重要信息被无意中发布。在请求消息中发送它不会导致请求和响应消息都不会使用缓存。max-age表示客户端可以收到生命周期不超过指定时间(以秒为单位)的响应。min-fresh表示客户端可以收到响应时间小于当前时间加上指定时间的响应。max-stale表示客户端可以收到超过超时时间的响应消息。如果您为max-stalemessages指定一个值,那么客户端可以接收超过为超时期限指定的值的响应消息。