有什么理由不在Django中使用USE_ETAGS和CommonMiddleware?

all*_*ode 9 django performance etag caching http

我能想到的唯一原因是计算ETag可能很昂贵.如果页面变化非常快,浏览器的缓存很可能会被无效ETag.在这种情况下,计算这ETag将浪费时间.另一方面,304在可能的情况下给出响应可以最小化传输所花费的时间.ETag当用Django实现时,CommonMiddleware什么时候可能成为净胜利者有什么好的指导方针?

sym*_*ean -2

我不明白你为什么要找理由不做某事。然而,您的分析还远未完成:条件请求/ 304 响应实际上会使您的应用程序运行速度明显慢于剥离 if-modified-since / if-none-match 的速度,但是它们确实让搜索引擎满意,并且有利于服务器到服务器复制(例如在 CDN 上)

C。

  • 由于以下几个原因,这个答案不是很有帮助:1)你的第二句话包含几个可以分成几个句子的想法。2)为什么我不应该寻找一个不做某事的充分理由?3) 您声称 304 响应会使事情变慢,但没有解释原因。虽然您提到不使用 if-modified-since (不确定这如何应用于 ETag )和 if-none-match 标头,但这并不是一个真正的解释。4)“他们确实让搜索引擎满意”?有趣,但极其模糊。 (4认同)