`
王之子
  • 浏览: 105564 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

PHP 设置动态网页在浏览器的缓存

阅读更多

很多人可能不知道,动态网页在浏览器也是可以缓存的。下面就以 PHP 脚本为例子,阐述如何设置动态网页在浏览器缓存

 

<?php

//设置网页过期时间为1小时
$duetime = 3600*24*30;

//获取浏览器会向服务器传送 Last-Modified 报头
$modify_time =  $_SERVER['HTTP_IF_MODIFIED_SINCE'];

//当浏览器在设置时间之内再次访问该网页时,发送 HTTP 304 的状态码,这样就节省了传输数据量。
if(strtotime($modify_time) + $duetime > time())
{
 header('HTTP/1.1 304');
 exit(1);
}

header('Connection: keep-alive');
//设置网页 Last-Modified 报头
header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT');
//设置网页过期时间
header('Expires: '.gmdate('D, d M Y H:i:s',time()+$duetime).' GMT');
//执行缓存时间长,跟 Expires 有点类似,让我们可以更全面的控制网页过期时间,因为浏览器时间可能跟服务器时间不协调,用  Cache-Control 报头可以得到限制
header('Cache-Control: max-age='.$duetime);

//输出内容
……
?>

 

原文链接:http://woqilin.blogspot.com/2014/05/php.html

分享到:
评论

相关推荐

    深入PHP与浏览器缓存的分析

    我们往往在服务器上对缓存设置进行各种优化方案,但是我们却很少注意到客户端缓存,准确的说是浏览器的缓存机制。其实每种浏览器都有缓存策略,会暂时将每一个浏览过的文件缓存在一个特殊的文件夹里。我们就可以在...

    面试题浏览器缓存和数据压缩.pdf

    面试题浏览器缓存和数据压缩

    PHP禁止缓存如何禁止页面缓存

    PHP禁止缓存如何禁止页面缓存,?php //设置此页面的过期时间(用格林威治时间表示),只要是已经过去的日期即可。 header("Expires: Mon, 26 Jul 1970 05:00:00 GMT"); //设置此页面的最后更新日期(用格林威治...

    php禁止浏览器使用缓存页面的方法

    主要介绍了php禁止浏览器使用缓存页面的方法,以实例形式较为详细的讲述了PHP禁用缓存的方法及用途,需要的朋友可以参考下

    PHP缓存与静态化——PHP缓存与静态化

    在实际的应用中,用户使用浏览器浏览Web应用,都是在向Web服务器发送请求。Web服务器根据用户的请求使用以不同方式进行响应。通常对于动态网站而言,用户的每一次请求服务器都是对PHP脚本的一次调用,都需要执行PHP...

    php+redis缓存类

    一个php+redis缓存类,缓存文件路径,包含文件名,析构函数,检查缓存目录是否有效,默认赋值,检查缓存是否有效,载入缓存后终止原页面程序的执行,缓存无效则运行原页面程序生成缓存,开启浏览器缓存用于在页面结尾处...

    PHP下利用header()函数设置浏览器缓存的代码

    PHP高级应用学习笔记之 利用header()函数设置浏览器缓存

    php redis缓存类.zip

    介绍一个php redis缓存类,缓存文件路径,包含文件名,析构函数,检查缓存目录是否有效,默认赋值,检查缓存是否有效,载入缓存后终止原页面程序的执行,缓存无效则运行原页面程序生成缓存,开启浏览器缓存用于在页面...

    屏蔽浏览器缓存另类方法

    有时候我们不希望浏览器使用缓存加快网页的显示,尤其是那些论坛之类的频繁更新内容的网页,在网上有说可以使用下面的方法来屏蔽缓存,但是我试了效果不好。 &lt;META HTTP-EQUIV="Pragma" CONTENT="no-cache"&gt; ...

    php redis服务器的缓存类.zip

    分享一个php redis服务器的缓存类,检查缓存目录是否有效,默认赋值,以浏览器缓存的方式取得页面内容,载入缓存后终止原页面程序的执行,缓存无效则运行原页面程序生成缓存。

    php+redis服务器的缓存类

    一个php+redis服务器的缓存类,检查缓存目录是否有效,默认赋值,以浏览器缓存的方式取得页面内容,载入缓存后终止原页面程序的执行,缓存无效则运行原页面程序生成缓存。

    简单高效的文件缓存php类.zip

    写入缓存$mode == 0 , 以浏览器缓存的方式取得页面内容$mode == 1 , 以直接赋值(通过$content参数接收)的方式取得页面内容$mode == 2 , 以本地读取(fopen ile_get_contents)的方式取得页面内容(似乎这种方式没什么...

    PHP实现即时输出、实时输出内容方法

    #设置执行时间不限时 set_time_limit(0); #清除并关闭缓冲,输出到浏览器之前使用这个函数。 ob_end_clean(); #控制隐式缓冲泻出,默认off,打开时,对每个 print/echo 或者输出命令的结果都发送到浏览器。 ob_...

    亿乐社区源码 一比一高仿全开源 PHP源码

    3.清除浏览器缓存 就可以打开了 1.打开system/data.php配置自己的数据库,下面还有一个域名要改这个的,这个域名就是总控域名 2.导入我打包的数据库 3.清除自己的浏览器缓存 就可以打开了 后台/admin 账号...

    m3u8缓存视频合并mp4

    自动搜索各浏览器下载的视频分段文件,合并成MP4文件,支持后台合并、合并完成删除源分段文件等等

Global site tag (gtag.js) - Google Analytics