因此,在我的一个项目中,我必须创建一个http缓存来处理对服务器的多个API调用。我阅读了有关此ETag标头的信息,该标头可以与条件GET一起使用,以最大程度地减少服务器负载并实施缓存。.但是,我在生成E-Tag时遇到问题。.我可以将资源的LAST_UPDATED_TIMESTAMP用作ETag或对其进行哈希处理使用诸如MD5之类的某种哈希算法。但是最好的方法是什么?使用原始时间戳作为Etag有什么缺点吗?
任何支持的答复都将受到高度赞赏..在此先感谢..干杯!!
如果您的时间戳具有足够的精度,以确保可以在资源更改时随时更改,那么您可以使用时间戳的编码(标头值必须为ascii)。
但是请记住,ETag可能不会为您节省很多。它只是一个缓存重新验证标头,因此您仍然会收到来自客户端的尽可能多的请求,只是一些请求是有条件的,因此,即使ETag保持不变,您也可以避免将有效负载发送回去,但仍然会产生一些工作弄清楚这一点(也许可以减少很多工作,所以值得)。
实际上,IIS的多个版本都使用文件时间戳生成Etag。在构建WinGate的缓存模块时,当一堆具有相同时间映射的文件最终都具有相同的Etag时,我们对此进行了介绍,并且我们了解到Etag仅在请求URI的上下文中有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句