Django实战007:Cookie搭配Session使用

2024-10-15 18:15:45

1、Cookie登录的实现过程1.用户通过form表单提交自己的用户名和密码,这通常是一个POST的 HTTP请求。2.服务器拿到用挥年抵遂户的信息开始验证用户名与密码,如果与数据库匹配成功我们就返回200同时设置一个Set-Cookie抛给浏览器,通过为‘键’=‘值’形式。3.浏览器接收到服务器响应返回的数据和Cookie,然后将Cookie存起来,在开发者application中可以查看到。4.浏览器再次发送请求时,将设置了‘键’=‘值’的Cookie再次抛给服务器,服务器通过Cookie的字段判断用户已经登录,则根据需求处理用户请求,否则返回400提示用户先登录。

Django实战007:Cookie搭配Session使用

3、Session的引进session和cookie功能差不多,同样是用来记袄嬖艽蛞录用户信息和维持会话状态的,但是session是依赖cookie的。session不同在于将用户数据存储在服务器端(用户拿到session内的具体内容),Cookie则是将数据存储在浏览器端,所以相对cookie来说,session相对安全多了,我们只需要在设置Cookie时附带上session的id,当用户再次访问服务器时将session的id抛给服务器进行效验。

Django实战007:Cookie搭配Session使用

5、Session的使用设置保存session数据,通过reques.session['键']='值'的方式来设置指定存储的session信息,通过浏览器访问该视图就可以将session设置的信息以base64编码存入到django_session数据库表中。

Django实战007:Cookie搭配Session使用

7、Session搭配Cookie使用在cookie中传入sessionid作为前端的存储值,这里为了保证sessionid的唯一性,我最简单的方法是用uuid来生成随机字符串,再在sessionid中设置session值,再给set_cookie设置个过期时间,这样只要时间一到又会重新生成一个新的sessionid来(如果你觉得uuid4()还是会出现重复也可以自行定义)。

Django实战007:Cookie搭配Session使用
猜你喜欢