【发布时间】:2012-05-18 07:30:13
【问题描述】:
当我向文件发出 HEAD 请求时,我得到 ETAG 标头如下:
ETag:“49a81-3f-4c049ee89a31b”
在这第一部分是 Inode 其他字段是什么
谁能告诉我。提前致谢
【问题讨论】:
标签: http-headers
当我向文件发出 HEAD 请求时,我得到 ETAG 标头如下:
ETag:“49a81-3f-4c049ee89a31b”
在这第一部分是 Inode 其他字段是什么
谁能告诉我。提前致谢
【问题讨论】:
标签: http-headers
我从维基百科得到了这个信息:
ETag 是一个不透明的标识符,由 Web 服务器分配给在 URL 中找到的特定版本的资源。如果该 URL 上的资源内容发生变化,则会分配一个新的不同的 ETag。以这种方式使用 ETag 类似于指纹,可以快速比较它们以确定资源的两个版本是否相同。
比较 ETag 仅对一个 URL 有意义 - 从不同 URL 获得的资源的 ETag 可能相等,也可能不相等。所以从他们的比较中无法推断出任何意义。
据我所知,etag 用于检查文件在下载后是否被修改。
在您的 Etag 中,这些部分可能表示:可以使用 inode-file_size-last_modified_time。我不确定。
此外,大卫的帖子还有更多信息。也跟着那个。这些信息非常有用。
【讨论】:
据我所知,ETag 是任何字符串。
如果您的浏览器与服务器上的匹配,您会收到一条 304 消息,未更改,否则您会收到 200 以及新版本。
实际上,不同的实现可能会添加 Inode 或日期或任何内容。
我个人使用版本号来强制在我们更新应用程序时加载新的 js 脚本版本。
ETag 上的其他帖子:
HTTP: Generating ETag Header
Syntax for ETag?
【讨论】: