• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > PHP如何实现禁止浏览器缓存

PHP如何实现禁止浏览器缓存

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了PHP如何实现,禁止浏览器缓存等相关知识,希望对您有所帮助

php实现禁止浏览器缓存的方法:可以通过meta标签来实现禁止静态页的缓存,如【<meta http-equiv="expires" content="0" />】,expires用于设定网页的过期时间。


PHP如何实现禁止浏览器缓存


方法如下:

一、对于静态页(就是通过meta标签来设置)

<!--expires用于设定网页的过期时间,一旦过期就必须从服务器上重新加载.时间必须使用GMT格式--><meta http-equiv="expires" content="0" />

或者通过pragma no-cache来设置,pragma出现在http-equiv属性中,使用content属性的no-cache值表示是否缓存网页(为了提高速度一些浏览器会缓存浏览者浏览过的页面,通过下面的定义,浏览器一般不会缓存页面,而且浏览器无法脱机浏览)。

<meta http-equiv="pragma" content="no-cache" />

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

注意:Cache-Control 头标是在HTTP1.1里添加的,相对于其他几种方式能够实现更细致的缓存控制。

<meta http-equiv="Cache-Control" content="no-cache,no-store, must-revalidate">header('Cache-Control: max-age=3600*24');//缓存1天,表示最大生存期是1天,超过1天浏览器必须去服务器重新读取,这个时间是从用户第一次读取页面时开始计时的

二、对于PHP页面:

对于动态页面,缓存的代码必须放在任何HTML标签输出之前,否则将会出错。

<?php header('Cache-Control:no-cache,must-revalidate');   header('Pragma:no-cache');   header("Expires:0"); ?>

Last-Modified:文档的最后修改时间。它的用法就是:

1:如果是静态文件,客户端会发上来它缓存里的时间,apache会来比对,如果发现没有修改就直接返回一个头,状态码是304,字节数非常少。

2:如果是php动态文件,客户端发上比对时间,php会判断是否修改,如果修改时间相同,就只会返回1024字节,至于为什么返回1024不得而知,如果你的php生成的文件非常大,它也只返回1024,所以比较省带宽,客户端会根据服务器端发过来的修改时间自动从缓存文件里显示。

注意:如果没有设置Last-Modified头,只设置了Cache-Control和Expires也是可以起作用的,但每次请求要返回真实的文件字节数,而不是1024

php设置 Last-Modified 头标示例代码如下:

header('Last-Modified: '.gmdate('D, d M Y 01:01:01',$time).' GMT');//使用的是格林尼治时间,$time是指文件添加时候的时间戳



分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP如何实现禁止浏览器缓存

相关文章

  • 2022-04-29php怎么使用setcookie()设置cookie永不过期
  • 2022-04-29Javascript获取日期的方法是什么
  • 2022-04-29PS制作梦幻五彩斑斓的霓虹灯文字效果教程
  • 2022-04-29网站SEO第一步:忘掉你的目标关键词
  • 2022-04-29织梦DedeCMS在自定义表单里加入验证码的方法
  • 2022-04-29Photoshop制作蓝色冰霜效果的艺术字教程
  • 2022-04-29php如何生成随机字符串并不重复
  • 2022-04-29Photoshop设计超酷的扁平化软件图标
  • 2022-04-29宝塔面板 - 通过宝塔面板安装的mysql 默认密码是什么
  • 2022-04-295款优秀的在线表单设计器

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • Mysql如何允许外网访问设置
    • DedeCMS安全设置 目录执行php脚本限制方法
    • 浅析CSS中怎么实现线性渐变(linear-gradient)
    • PHP如何根据ip查询详细地址
    • 浅谈angular中控制器、服务和指令的关系
    • PS+AI打造一个中国风字体LOGO设计过程教程
    • Illustrator制作蓝色苹果QuickTime标志
    • 浅谈Bootstrap Tab标签页切换图表显示问题的解决方法
    • Photoshop制作超酷的岩石立体字教程
    • MySQL主键还需要建立索引吗?

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有