我在 Django 中有一个相当大的项目,这是一个相当大的框架,并且我正在使用相当多的应用程序、中间件、上下文处理器等。规模意味着当代码库的一部分针对我的请求运行时不希望它,确定它为什么这样做是困难的。直接的代码检查过于耗时,就像在调试器中单步执行整个请求一样。
在这种特殊情况下,我的问题是我在每个响应上都设置了“Vary: Cookie”,包括一些我想要大量缓存的以及我不应该需要任何 cookie 的地方。我怀疑,但不知道如何证明,某些中间件或上下文处理器正在访问request.session
,即使它不使用结果——尽管它可能是间接访问,例如通过request.user
. 当然,它可能完全是另外一回事。
在 Python 中,如何在大型代码库中从效果(“将 Vary 标头添加到响应中”)追溯到其原因?