单个Web服务器和ETag

时间:2009-01-14 12:11:34

标签: etag

是否有人知道是否值得在单个Web服务器上托管的Web应用程序上禁用ETag?目前我们在应用程序中没有使用ETag。

如果值得禁用它们 - 为什么?

非常感谢。

2 个答案:

答案 0 :(得分:8)

我不知道这是否有帮助,但你可以在这里阅读etags: http://developer.yahoo.net/blog/archives/2007/07/high_performanc_11.html

以及关于ETags的what Jeff Atwood thinks

  

ETag是一个校验和字段   与每个服务器文件,所以客户端   可以判断服务器资源是否是   与缓存版本不同   客户端在本地持有雅虎建议   关闭ETag因为它们导致   由于服务器农场的问题   它们的生成方式   机器特定的标记。除非   你应该运行服务器场   忽略这个指导。它只会制作   你的网站表现更糟,因为   客户将有一个更困难的时间   确定其缓存是否陈旧或   新鲜。对客户来说是可能的   使用现有的最后修改日期   字段来确定是否缓存   是陈旧的,但最后修改是一个弱点   验证器,而实体标签(ETag)   是一个强有力的验证者。为何交易   弱点的力量?

.NET Rocks的interview with Steve Souders也可以提供帮助:

  

Steve Souders :...默认执行   IIS和Apache,他们把两者都放了   那些服务器,把东西放进去   电子标签很有可能   如果用户必须检查   该资源的有效性,   浏览器将不正确   告诉他们资源不再存在   有效。所以在Apache的情况下,他们是什么   放入电子标签的是INO号   该Web服务器上的文件,以便   如果您有多个Web服务器   托管您最大的网站   网站这样做,INO号码永远不会   两个服务器匹配所以   如果昨天用户去了服务器   一个,今天他们试图验证   该资源,他们去服务器   2,电子标签不匹配,   电子标签会覆盖上次修改日期   而不只是返回一个200字节   304响应,服务器必须   返回整个50k的响应   图像。

答案 1 :(得分:0)

“如果您在一台服务器上托管您的网站,则无需删除ETag。每次都会使用相同的ETag,并且验证检查将有效且正确地进行。”

来源:Dean Hume