如何配置eTags?

7
使用ySlow,它建议我使用eTags。今天之前我从未听说过它们。现在的问题是,我该如何配置eTags?
我刚刚花了最近2个小时来尝试解决这个问题。我尝试将各种推荐的脚本添加到我的.htaccess文件中,但没有成功。 ySlow不停地抱怨...
我的网站是一个安全网站(https),在litespeed web服务器上。我看到有些人说你不能在litespeed web服务器上配置eTags。这是真的吗?
谢谢。
3个回答

14
或者,我不知道……将它们适当地设置而没有使它们成为服务器唯一的部分。 文件ETag修改时间 大小 我知道只是告诉人们不要费心更容易。但是,有关ETag的错误信息非常多。它们并不完美,但在正确配置时可以很方便。

抱歉语气有些尖刻,但我刚刚读到了这样一句话:“然而,我们测试过的大多数网站都没有费心配置他们的ETags,所以一个更简单的解决方案是完全关闭ETags[...]”,而这是在正确配置它们的说明之后。这是让我感觉像Mugatu大喊着要吃疯狂药丸的时刻之一。 - Vagari
1
这成为了Apache 2.4中的默认值。https://httpd.apache.org/docs/2.4/mod/core.html#fileetag - jjok

6

注意(2021年5月14日):

尽管历史上存在一些合理的理由来禁用ETags - 主要是由于雅虎从服务器农场提供服务并且无法在所有服务器上正确实现ETags - 但是默认情况下不应禁用ETags,而且很可能雅虎的问题不适用于您。


我认为你应该禁用 ETags,而不是开启它们。

尝试这个:

Header unset Pragma
Header unset ETag
FileETag None

参考资料:

如何使用htaccess关闭ETag?

http://davidwalsh.name/yslow-htaccess


我已将其添加到我的htaccess文件中,但似乎没有任何作用。Yslow仍在抱怨。 - Xarcell
嗯,也许你的Apache不允许你在htaccess中更改它。我不会太担心这个问题,除非真的有问题,否则盲目地遵循Yslow告诉你的东西是不值得的,我个人认为。 - Adrian Macneil
使用ySlow作为书签,而不是浏览器扩展程序,因为它似乎会与浏览器缓存混淆,因此不太准确。 - Dylan Grech

6

使用 .htaccess 配置 ETag 响应

该文章特别介绍了如何在 Litespeed Web 服务器 上配置 etags,但是任何可以使用 .htaccess 的地方,方法 应该 是相同的。

简单

FileETag All

这将设置所有文件的响应ETag,从所有三个可能的组件计算:

INode
文件的i-node number将包含在计算中
MTime
文件上次修改的日期和时间将被包含在计算中
Size
文件中的字节数将被包含在计算中

设置

All
将使用所有可用字段。这相当于:
FileETag INode MTime Size

例如 我们的响应可能类似于ETag:"a020a81-1dd-55073fdbf86fe"

具体

FileETag INode
FileETag MTime
FileETag Size
FileETag INode MTime
FileETag INode Size
FileETag MTime Size 也可以设置。

省略

FileETag None


如果文档基于文件,响应中将不包括ETag字段。

定向的

使用FilesMatch指令可以为不同的文件设置不同的规则。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接