【问题标题】:Can I cache my header file?我可以缓存我的头文件吗?
【发布时间】:2012-01-29 02:06:21
【问题描述】:

我的 header.php 文件包含在我的所有脚本中,并包含一个基于 twitter 引导样式表的工具栏。每次页面加载时,它都会随着页面加载而闪烁。我假设默认情况下会缓存标头,但似乎没有。有没有办法强制它使用缓存?

文件的头部如下所示:

<?php if (!isset($_SESSION)) session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

<title><?php echo($title); ?></title>
<?php if (isset($meta)) {echo($meta);} ?>

<!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="css/ie6.css" />
<![endif]-->

<link rel="stylesheet" href="css/bootstrap.css" />  

<link rel="icon" type="image/x-icon" href="favicon.ico" />

<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.min.js"></script>

<style type="text/css">
/* Override some defaults */  
<?php if (isset($extra_styles)) {echo($extra_styles);} ?>


</style>

</head>

【问题讨论】:

    标签: php html browser-cache


    【解决方案1】:

    有不同类型的缓存:

    客户端缓存
    如果您的意思是客户端缓存,那么没有。客户端缓存单个内容,例如图像和 HTML 文件,但不是其中的一部分。没有花哨的 HTML 标签或类似标签来告诉浏览器缓存哪个特殊部分。

    服务器缓存
    服务器缓存意味着服务器将一些经常访问的内容保存在 RAM 中,以减少 I/O 并节省处理时间。您始终可以在 RAM 中缓存 HTML 标头部分。不幸的是,我不知道如何在 PHP 中做到这一点。

    【讨论】:

      【解决方案2】:

      您希望缓存什么?浏览器不能在一个页面上缓存 HTML 的子集,以供后续页面使用;它只是不能那样工作。浏览器将文件作为一个整体进行缓存,无论它们是 PHP 生成的 HTML 页面、Javascript 源代码还是图像。

      你的标题是否在所有页面上都相同并不重要,因为它是由相同的include'd PHP 文件生成的 - 浏览器不知道你的网络服务器在处理不同的 PHP 文件之前做什么服务。浏览器只是获取整个页面的 HTML,并对其进行解释。

      【讨论】:

      • 基本上就是页面头部的工具栏
      猜你喜欢
      • 1970-01-01
      • 2019-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-29
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      相关资源
      最近更新 更多