ETag的允许的浏览器来执行有条件的GET。只有当相关资源已被更改将资源必须重新下载。然而,浏览器仍然必须等待服务器向其请求作出响应。

要的ETag的替代方案是引入一个令牌到URL指向资源:

http://example.com/css/styles.css?token=134124134

http://example.com/css/134124134/styles.css

这两种方法都避免了不得不重新下载一个不变的资源。

然而,使用网址令牌允许服务器上设置资源的远未来到期报头。这样可以节省一个有条件的GET采取了往返 - 如果资源是不变的则指向它的URL将保持不变。

<强>是否有任何优点,使用的ETag超过网址令牌吗

有帮助吗?

解决方案

为只读的资源,我看到的是,如果大家都采取这种做法,对所有静态资源,然后客户端缓存将开始填充各种过时资源的主要缺点。

此外,认为所有的中介高速缓存,将开始举行的无用文件负载。

您正在打击网络使用这种方法,如果它成为流行的东西,然后就必须改变,因为它不是一个可扩展的解决方案。

难道还有某种混合方法,你用一组有限的令牌,并设置到期足够小,重复使用令牌之前的旧的缓存资源会过期吗?

ETag是也用于读写资源,在这种情况下,我怀疑令牌的解决方案是行不通的。

其他提示

我认为最大的差/潜在的优点将是配置;的URL设置必须被配置在应用程序内/设置(例如,HTML实际上必须包含值)。 ETag的被配置用于对整个Web服务器,并且HTML不必进行修改,以利用它们。

另外,将ETag的(假定它们被正确配置)改变时,文件指向的变化;添加令牌的URL会需要一些额外的“东西”,告诉它改变(无论是一个人编辑HTML或一些配置设置等)。

具有恒定的URI?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top