Django: Cookie set to expire in 30 seconds is actually expiring in 30 minutes?
hr = HttpResponse('ok')
hr.set_cookie('user_id', user_id, max_age=30)
而https://stackoverflow.com/a/25179642/433570确实
request.session[user_id] = True
两人都说我们正在设置cookie
。
两者之间有什么区别?
我可以使用request.session
方法设置到期日期吗?
答案 0 :(得分:1)
简而言之,Cookie会在客户端存储,而会话存储在服务器端(除非您使用cookie based session)。
用户可以从浏览器中清除 http cookies ,但他们无法对您服务器上的会话做任何事情。 Clearing sessions取决于您和您的设置。您可以使用一些django settings来确定其年龄,例如SESSION_COOKIE_AGE
。对于http Cookie,可以将attributes设置为max_age
,expires
。
选择使用哪一个取决于您的要求;你打算存储敏感数据,永久性重要等等。
参考文献: