首页 > 其他分享 >每日记录

每日记录

时间:2023-05-11 20:35:16浏览次数:63  
标签:存储 浏览器 记录 每日 session cookie key 服务器

一、cookie:

在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存储一些小量的数据。

 

二、session:

session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,而session存储在服务器。存储在服务器的数据会更加的安全,不容易被窃取。但存储在服务器也有一定的弊端,就是会占用服务器的资源,但现在服务器已经发展至今,一些session信息还是绰绰有余的。

 

三、cookie和session结合使用:

web开发发展至今,cookie和session的使用已经出现了一些非常成熟的方案。在如今的市场或者企业里,一般有两种存储方式:

1、存储在服务端:通过cookie存储一个session_id,然后具体的数据则是保存在session中。如果用户已经登录,则服务器会在cookie中保存一个session_id,下次再次请求的时候,会把该session_id携带上来,服务器根据session_id在session库中获取用户的session数据。就能知道该用户到底是谁,以及之前保存的一些状态信息。这种专业术语叫做server side session。

2、将session数据加密,然后存储在cookie中。这种专业术语叫做client side session。flask采用的就是这种方式,但是也可以替换成其他形式。

回到顶部(go to top)

flask中使用cookie和session

 

一、cookies:

在Flask中操作cookie,是通过response对象来操作,可以在response返回之前,通过response.set_cookie来设置,这个方法有以下几个参数需要注意:

key:设置的cookie的key。

value:key对应的value。

max_age:改cookie的过期时间,如果不设置,则浏览器关闭后就会自动过期。

expires:过期时间,应该是一个datetime类型。

domain:该cookie在哪个域名中有效。一般设置子域名,比如cms.example.com。

path:该cookie在哪个路径下有效。

 

使用:

  获取:request.cookies.get(key, '默认值')

  设置:resp.set_cookie(key, value, max_age=整数)

  删除:resp.delete_cookie(key)

 

 

 

 

二、session:

Flask中的session是通过from flask import session。然后添加值key和value进去即可。

client side session:Flask中的session机制是将session信息加密,然后存储在cookie中。专业术语叫做client side session。

server side session:存储在服务器,客户端保存的时session_id(通过cookie完成)

使用:

  获取:session.get(key, '默认值')

 

设置:

     session.permanent = True

     session[key] = value  

删除:

指定删除:session.pop(key, None)

清空所有:session.clear()

 

 

 

 

标签:存储,浏览器,记录,每日,session,cookie,key,服务器
From: https://www.cnblogs.com/xiao-hong111/p/17392155.html

相关文章

  • 网络流做题记录
    网络流做题记录主要用来记录除了网络流24题之外的网络流题目。1.P4126[AHOI2009]最小割题意:对于每条边,求①这条边有没有可能在一种最小割中②这条边是不是一定在所有最小割中。思路:首先看第一问。首先可以想到,如果一条边没有满流,那显然不能在最小割里。那如果满流的边一定在......
  • 2023年母亲节文案怎么写?用便签提前记录
    每年公历5月的第二个星期日是母亲节,而2023年的母亲节也将在5与14日如约而至。为了表达对母亲无私付出的感恩之情,有不少网友会在这一天送给自己母亲一束鲜花、一份礼物。此外还有的人会在微信朋友圈等社交平台发表母亲节文案,来表达对母亲的感恩、祝福。不过还有一些小伙伴不知道......
  • 2023年5月11日记录
     思路:  代码实现:    ......
  • 将仓库下某个模块复制到新仓库并保留提交记录(非子库)
    在Git中,有时候我们需要将一个仓库中的某个模块复制到另一个仓库中,并且还需要保留提交记录。这个时候我们可以使用Gitsubtree命令来实现。例如:将本地某个仓库中的design-pattern文件夹下的所有文件拿出来作为一个新仓库以下是具体操作步骤:进入旧仓库中,使用以下命令将需要复制......
  • AtCoder DP系列刷题记录
    直面自己的弱点。AFrog1简单线性\(\text{dp}\),令\(dp_i\)为跳到第\(i\)块石头的最小花费,易得:\[dp_i+=\min(|a_i-a_{i-1}|,|a_i-a_{i-2}|)\]BFrog2很快就写完了,但是一直调了十分钟,耻辱啊。如果反着跳,第\(i\)根木桩只能从第\(i+1\)或\(i+2\)木桩上跳到,则有:\[d......
  • Git 如何迁移仓库并保留 commit 记录?
    Git如何迁移仓库并保留 commit 记录一、作用把在A托管平台的仓库完全的迁移到B托管平台,保留commit历史记录。二、场景将Gitlab上的仓库迁移到GitHub将Coding上的仓库迁移到GitHub将Gitee上的仓库迁移到GitHub……迁移前后,保留commit历史记录,即在迁移后的......
  • OpenPCDet复现过程记录
    0、前言OpenPCDet项目之前我就复现过,一个很优秀的项目,这几天又需要用到这个项目,再次复现遇到了不少问题,特此记录复现的流程1、环境准备1.1、前置条件以下是我安装的版本CUDA11.3CUDNN8.2.1CUDA和CUDNN安装可以参考这篇文章https://blog.csdn.net/qq_50195602/articl......
  • 考研学习 | 每日回顾(2023年5月10日)
    昨天的考研数学笔记给根号换个形式:不去根号胜去根号分母上的根号可以通过求导去除......
  • 记录如何在vue中使用mock模拟数据
    1.mock介绍mock:假的。mock数据意思是:真的假数据。【真的即为符合接口规范要求的。假数据:数据是自己造的,不是真实数据。】mock实现方式操作流程:1.本地启mock服务器【用express写接口或本地用专门的mock服务】2.线上的mock服务器mock.js基本语法介绍:mock.js基本语法......
  • 每日总结2023-05-10
    今天完成了对于Android中Fragment的了解:Fragment有自己的生命周期Fragment依赖于ActivityFragment通过getActivity()可以获取所在的Activity;Activity通过FragmentManager的findFragmentById()或findFragmentByTag()获取FragmentFragment和Activity是多对多......