gpt4 book ai didi

php - 我应该使用哪些 header 来提供静态内容?

转载 作者:可可西里 更新时间:2023-11-01 16:35:26 25 4
gpt4 key购买 nike

我正在使用 PHP 压缩我的静态 Javascript 和 CSS 文件。当请求原始文件时,服务器发送 Last-ModifiedETag header 。我还没有用 PHP 发送这些。我还看到了使用 Cache-controlExpires header 的建议,还有一些我不记得了。

前两个够了吗?我想我可以很容易地使用 PHP 获取最后修改日期,但我如何生成 ETag?

如果包含其他两个更好,那么将它们附加到其他文件(如图像)的最佳方式是什么?也许通过 .htaccess? (我没有直接访问服务器的权限。)

最佳答案

对于 ETag,您可以使用任何值,但我更喜欢使用当前文件 [s] 的 md5_file() sha1_file() 作为内容的唯一标识符(不应该真的有那么多冲突)。

在任何输出之前执行此操作。

<?php header( "Etag: " . sha1_file( basename( $_SERVER[ 'PHP_SELF' ] ) ) ); ?>

或者你可以让 Apache 在 .htaccess 中为你做这件事(如果它被启用,通常是):

# if we're clustered this will still be cool
FileETag MTime Size

如果你想设置一个长的过期时间(虽然这有点危险),你也可以这样做:

# turn on far-future expiration dates
# to cache content longer (30 days)
ExpiresActive On
ExpiresDefault A2592000

但要小心,您必须制作一个文件版本 (),每次更新文件时都必须更改该版本。

关于php - 我应该使用哪些 header 来提供静态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1931675/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com