在 Django 中的每个请求中更改 Cookie 标头值
不知何故,Cookie 中的值会在每次请求时发生变化。
因为我正在使用身份验证和会话中间件(添加了 Vary: Cookie 标头)。 我无法缓存页面。
有什么提示我可以改变这种行为吗?
Somehow the values for in the Cookie change at every request.
As I'm using the auth and session middleware (which add the Vary: Cookie header). I'm not able to cache the pages.
Any hints how I can change this behaviour?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
你用什么作为会话后端?
请参阅: http://docs.djangoproject .com/en/dev/topics/http/sessions/#configuring-the-session-engine
哎呀...应该是一条评论...而不是一个答案...
what are you using for the session backend?
see: http://docs.djangoproject.com/en/dev/topics/http/sessions/#configuring-the-session-engine
whoops...should have been a comment...not an answer...
抱歉,这与 django 无关。
cookie 值的变化是由谷歌分析跟踪器引起的。
这使得标准的 chache_site 机制变得不可能。
Sorry, this has nothing todo with django.
The changing cookie values were caused by the google analytics tracker.
This made the standard chache_site mechanism impossible.
正如 @msmart 发现的那样,这是 Google Analytics 的一个恼人的效果,并且在 cookie 模式变化方面存在一些问题(您无法指定要变化的 cookie),
这里有一个 Django 错误:< br>
https://code.djangoproject.com/ticket/9249
其中有 Django 的补丁。
这将使您的 Django 端缓存行为再次正常工作,但由于 cookie 的变化,http 代理缓存仍然无法缓存页面。
As @msmart found, this is an annoying effect of Google Analytics and a bit of a problem with the vary-on-cookie pattern (you can't specify which cookies you want to vary on)
There is a bug for Django here:
https://code.djangoproject.com/ticket/9249
which has a patch for Django.
This will let you get your Django-side caching behaviour working again, but http proxy caches will still fail to cache pages due to the changing cookies.