if-modified-none和if-none-match之间的区别是什么?我有一种感觉,if-none-match用于文件,而if-modified-since用于页面?
发布于 2009-06-17 07:06:04
关于Last-Modified/If-Modified-Since和ETag/If-None-Match之间的区别
两者都可以互换使用。然而,取决于资源的类型,以及它是如何在服务器上生成的,一个或另一个问题(“这是否自...?”/“这仍然与此ETag匹配吗?”)可能更容易回答。
示例:
mtime作为Last-Modified日期是最简单的解决方案。ETag将容易得多。OTOH,这意味着您仍然需要在服务器上生成整个页面,即使是有条件的GET。弄清楚ETag中到底需要包含哪些内容(主键、修订号……等)在这里可以为您节省大量时间。
有关该主题的更多详细信息,请参阅以下链接:
发布于 2009-06-15 22:52:55
If-Modified-Since被比作Last-Modified,而If-None-Match被比作ETag。Modified-Since和ETag都可用于标识资源的特定变体。
但是,If-Modified-Since与Last-Modified的比较给出了缓存的变体是旧的还是新的信息,而If-None-Match与ETag的比较只给出了两者是否相同的信息。此外,大多数ETag生成器是否包含系统特定inode的信息,因此将文件移动到不同的驱动器可能也会更改ETag。
发布于 2011-10-29 00:09:17
在Last-Modified/If-Modified- used中使用的时间戳值的精度有限-一秒,这对于快速变化的内容来说是不够的,例如,Web聊天应用程序,其中在任何给定的一秒内可以发布一条以上的消息。ETag/If-None-Match可以帮助解决这个问题。
https://stackoverflow.com/questions/998791
复制相似问题