php - 如何在 PHP 文件中使用 etags?

标签 php caching header etag

您如何在 PHP 文件中实现 etags?我要上传什么到服务器,我要在我的 PHP 文件中插入什么?

最佳答案

创建/编辑您的 .htaccess 文件并添加以下内容:

FileETag MTime Size

要么将以下内容放在一个函数中,要么将其放在您需要 etags 处理的 PHP 文件的顶部:

<?php 
    $file = 'myfile.php';
    $last_modified_time = filemtime($file); 
    $etag = md5_file($file); 

    header("Last-Modified: ".gmdate("D, d M Y H:i:s", $last_modified_time)." GMT"); 
    header("Etag: $etag"); 

    if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $last_modified_time || 
        trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { 
        header("HTTP/1.1 304 Not Modified"); 
    exit; 
} 
?>

关于php - 如何在 PHP 文件中使用 etags?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13197479/

相关文章:

caching - Rails 3.1.0 - ActionController::Base:Class 的未定义方法 `page_cache_extension'

caching - IIS7 Web.Config 缓存 - 这里有什么区别,它们是如何结合在一起的?

c++ - 错误 : expected ‘,’ or ‘...’ before ‘>’ token

ios - 使用 ASIHTTPRequest 在重定向上附加原始 header

asp.net - 如何右对齐 Gridview 列的标题

php - 使用 CakePHP,您如何在用户登录时隐藏页面的某些元素?

php - SQlite 3 PDO 语句在 PHP 中失败

带有 BLOB 变量的 PHP Slim GET 请求

javascript - 如何正确检查是否所有表单元素都填充了 JavaScript

ruby-on-rails - Rails 3 caches_page 写入文件但不会在后续命中时从缓存中读取