gpt4 book ai didi

performance - 根据资源的时间戳生成 ETag 的最佳方法是什么

转载 作者:可可西里 更新时间:2023-11-01 17:06:32 26 4
gpt4 key购买 nike

所以在我的一个项目中,我必须创建一个 http 缓存来处理对服务器的多个 API 调用。我阅读了有关此 ETag header 的信息,该 header 可与条件 GET 一起使用以最大程度地减少服务器负载并启用缓存。但是我在生成 E-Tag 时遇到问题。我可以将资源的 LAST_UPDATED_TIMESTAMP 用作 ETag 或对其进行哈希处理使用某种散列算法,如 MD5。但是最好的方法是什么? 使用原始时间戳作为 Etag 有什么缺点吗?

非常感谢任何支持性的回答..提前致谢....干杯!

最佳答案

如果您的时间戳具有足够的精度,以便您可以保证它会在资源更改时随时更改,那么您可以使用时间戳的编码( header 值需要为 ascii)。

但请记住,ETag 可能不会为您节省太多。它只是一个缓存重新验证 header ,因此您仍然会从客户端收到尽可能多的请求,只是一些请求是有条件的,如果 ETag 没有更改,您可能会避免发回有效负载,但您仍然会承担一些工作弄清楚这一点(也许工作量少了很多,所以值得)。

事实上,有几个版本的 IIS 使用文件时间戳来生成 Etag。我们在构建 WinGate 的缓存模块时遇到了这个问题,当一大堆具有相同时间图的文件以相同的 Etag 结束时,我们了解到 Etag 仅在请求 URI 的上下文中有效。

关于performance - 根据资源的时间戳生成 ETag 的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39014376/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com