Cookie 和 Session 原理及其在 Django 中的作用
Cookie 和 Session 一样,是在 Django 中维护视图状态的一种解决方案。由于HTTP被设计为“无状态”,因此每个请求都在同一个空间中。一个请求与下一个请求之间不维护任何状态,我们无法根据请求的任何方面(IP 地址、用户代理等)识别来自同一个人的连续请求。但我们还需要保证用户登录后,登录的用户无需再次登录就可以访问我网站的其他页面,对吗?但是http是无状态的,如何保证呢?此时您需要搜索 cookie 和会话。
1。 cookies和session的原理
cookie的工作原理是:浏览器以空的cookie文件访问服务器,然后服务器生成内容,浏览器收到响应并存储在本地;当浏览器再次访问时,浏览器会自动调出Cookie,这样服务器就可以通过Cookie的内容来判断“谁”了。
Cookie 在浏览器端存储键值对数据,而 session 在服务器端存储键值对数据。 session的使用依赖于cookie:session使用后,每次请求的session ID数据都会存储在Cookie中。浏览器将此数据发送到服务器。服务器收到sessionid后,根据该值判断请求者的会话。
2。如何设置cookie和session
1)如何设置cookie
格式:HttpResponse().set_cookie(keyname,对应值,过期时间)
2)如何设置session
首先需要在settings.py中设置
①MIDDLEWARE_CLASSES,并确保其中包含以下内容:
'django.contrib.sessions.middleware.SessionMiddleware',
②INSTALLED_APPINSTALLED_APPsession',
然后设置会话格式:
request.session[key] = value
3。如何搜索 cookie 和会话
1) 如何搜索 cookie
格式:value = request.COOKIES["cookie_key"]
2) 如何查询session
格式:request.session.get(key,default=None)
4.如何删除 cookie 和会话
1) 如何删除 cookie
格式:response.delete_cookie("cookie_key")
2) 如何删除会话
格式:del request.session[key]
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。