Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >关于酒瓶会议的几个问题

关于酒瓶会议的几个问题
EN

Stack Overflow用户
提问于 2015-10-13 13:50:56
回答 1查看 1.8K关注 0票数 6

考虑以下简单的烧瓶应用程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from flask import Flask, request, session

application = Flask(__name__)
application.secret_key = "some_random_string"

@application.route("/enter_string")
def start_session():
    session["string"] = request.args["string"]

@application.route("/get_string")
def continue_session():
    if "string" not in session:
        return "Give me a string first!"

    return "You entered " + session["string"]

if __name__ == "__main__":
    application.debug = True
    application.run()

以下是我的问题:

  1. 一旦访问了"enter_string“端点并将一个字符串分配给session["string"],该字符串存储在哪里?是在服务器的内存中还是在用户的内存中?
  2. 默认情况下,会话在浏览器退出时过期。是否有一种简单的方法可以让其他事件触发会话的到期,例如关闭窗口,但不一定关闭浏览器?
  3. 默认情况下,会话是否会超时,或者是否一直保持到浏览器退出,不管需要多长时间?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-13 14:13:20

在水瓶中的会话可以以不同的方式实现。默认实现基于安全cookie(具有防止篡改的密码签名的cookie)。以下是您对此实现的问题的答案:

  1. 字符串将存储在客户端cookie中。每次浏览器向服务器发送请求时,cookie都将与其一起发送。
  2. 客户端可以通过使用Javascript删除cookie来销毁会话。(会话cookie的默认名称是session)。服务器可以通过删除会话中的所有项来删除会话。
  3. 在默认实现中,cookie的过期日期为31天。这可以通过PERMANENT_SESSION_LIFETIME配置设置进行更改。

正如我前面提到的,Flask支持第三方会话处理程序,所以上面的答案可能不适用于其他实现。特别是,有些处理程序实现服务器端会话(如Flask或),将会话数据存储在服务器中而不是客户端。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33113270

复制
相关文章
避免在 JS 中过多使用 IF 语句优化技巧
最近在重构代码时,我发现早期的代码使用太多的 if 语句,其程度是我从未见过的。这就是为什么我认为分享这些简单的技巧是非常重要的,这些技巧可以帮助我们避免过多的使用 if 语句。
前端小智@大迁世界
2020/10/26
2.3K0
C++核心准则ES.86:避免在基本for循环的循环体中修改循环控制变量​
ES.86: Avoid modifying loop control variables inside the body of raw for-loops
面向对象思考
2020/06/11
1.8K0
[译] 在 JavaScript 中通过 queueMicrotask() 使用微任务
原文:https://developer.mozilla.org/en-US/docs/Web/API/HTMLDOMAPI/Microtask_guide
江米小枣
2020/06/15
3.2K0
python product避免多重循环
通过 from itertools import product 避免多重循环,提高可读性
葫芦
2019/05/14
1.3K0
HTML5中类jQuery选择器querySelector的使用
简介 HTML5向Web API新引入了document.querySelector以及document.querySelectorAll两个方法用来更方便地从DOM选取元素,功能类似于jQuery的选择器。这使得在编写原生JavaScript代码时方便了许多。 用法 两个方法使用差不多的语法,都是接收一个字符串参数,这个参数需要是合法的CSS选择语法。 element = document.querySelector('selectors');elementList = document.querySel
前朝楚水
2018/04/02
3.4K0
HTML5中类jQuery选择器querySelector的使用
pivottablejs|在Jupyter中尽情使用数据透视表!
大家好,在之前的很多介绍pandas与Excel的文章中,我们说过「数据透视表」是Excel完胜pandas的一项功能。
刘早起
2020/10/23
3.8K0
pivottablejs|在Jupyter中尽情使用数据透视表!
避免在Swift中使用单例
"我知道单例是不好的,但是......",这是开发人员在讨论代码时经常说的话。社区里似乎有一个共识,那就是单例是 "不好的",但同时苹果和第三方的Swift开发者都在应用内部和共享框架中不断使用它们。
韦弦zhy
2022/03/30
5110
在nodejs中事件循环分析
在上一篇文章在chromev8中的JavaScript事件循环分析中分析到,在chrome中的js引擎是通过执行栈和事件队列的形式来完成js的异步操作。然而在node中,事件循环表现出的状态与浏览器中大致相同。不同的是node中有一套自己的模型。node中事件循环的实现是依靠的libuv引擎。我们知道node选择chrome v8引擎作为js解释器,v8引擎将js代码分析后去调用对应的node api,而这些api最后则由libuv引擎驱动,执行对应的任务,并把不同的事件放在不同的队列中等待主线程执行。 因此实际上node中的事件循环存在于libuv引擎中。
Yerik
2022/04/11
4K0
querySelector与querySelectorAll
HTML5学堂:JS获取节点的方法很多,但真正常用的或许就是通过id和标签获取节点,用传统的几种方法想要快速的查找到某个标签,就意味着需要更多的id,命名多了自然就烦了,接下来给大家介绍的方法就能简化很多操作。 常用的获取节点的方法 JS中经常需要获取节点,下面四种是较为常见的。 1、通过id获取节点:document.getElementById("test") 2、通过标签获取节点:document.getElementsByTagName("div") 3、通过类名获取节点:document.getE
HTML5学堂
2018/03/12
1.4K0
【译】如何避免在JavaScript中阻塞DOM
原文链接:https://www.sitepoint.com/avoiding-dom-blocking/
腾讯IVWEB团队
2020/06/28
2.8K0
Mysql避免全表update
在测试的时候忘记写where条件导致全表更新的话,可以收拾包袱走人了 下面这条语句可以开启检查,当没有加where时拦截下来 set sql_safe_updates=1; 关闭: set sql_safe_updates=0;
DH镔
2019/12/20
2.7K0
mysql or条件可以使用索引而避免全表
CREATE TABLE IF NOT EXISTS `t_myisam` ( `id` int(1) NOT NULL AUTO_INCREMENT, `uid` int(11) NOT NULL, `aNum` char(20) DEFAULT NULL, PRIMARY KEY (`id`), KEY `uid` (`uid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 AUTO_INCREMENT=1 ;
黄规速
2022/04/14
1.5K0
mysql or条件可以使用索引而避免全表
在货币计算中应该避免浮点数
float和double数据类型对金融计算(甚至是军事用途)都是有害的,永远不要用它们来进行货币计算。如果精度是您的需求之一,那么使用BigDecimal。
程序你好
2018/09/29
2.5K0
在货币计算中应该避免浮点数
SqlServer 循环建表、删除表、更新表
常用于分库分表 1、批量删除 declare @outter int declare @inner int declare @tablePrefix varchar(30) declare @tableName varchar(36) set @outter=1 set @inner=0 while (@outter<=12) begin set @tablePrefix='BankPayOrder_'+convert(varchar,@outter)+'_' while(@inner<=9) beg
郑小超.
2019/01/07
2.8K0
python如何使用for循环_Python 中for循环的应用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170074.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
7K0
这些优化技巧可以避免我们在 JS 中过多的使用 IF 语句
最近在重构代码时,我发现早期的代码使用太多的 if 语句,其程度是我从未见过的。这就是为什么我认为分享这些简单的技巧是非常重要的,这些技巧可以帮助我们避免过多的使用 if 语句。
前端小智@大迁世界
2020/05/11
3.3K0
在 Andorid 中为什么要避免「内存抖动」?
但是其实初步想,为什么要避免内存抖动呢?频繁创建对象,被 Java 虚拟机的回收机制自动回收了,这不是挺好的吗?开发者为什么还需要关心这个问题呢?
夏洛克的猫
2020/05/12
1.1K0
避免在云迁移过程中宕机
在公共云迁移期间,IT团队需要采取谨慎的步骤,以避免听到“系统宕机”这种可怕的提示。 随着组织迁移到基于云计算的基础设施,IT团队需要在迁移过程中保持可用性。但是,考虑到所有复杂性,在云计算迁移过程中,防止宕机或最小化停机时间并不容易。云计算团队需要考虑数据不一致,监控不同的软件版本,并检查其网络连接是否成功。 如果企业的应用程序崩溃,业务往往会停止。虽然精确的指标因企业和应用的情况而异,但调研机构Gartner公司在2014年发现,网络停机时间平均每分钟的损失为5,600美元。停机时间的高昂成本是企
静一
2018/03/27
9040
避免在云迁移过程中宕机
在循环内使用闭包(Closures)
闭包的本质是一个内部函数访问其作用域之外的变量。闭包可以用于实现诸如 私有变量 和 创建工厂函数之类的东西。
前端迷
2018/10/22
1.2K0
点击加载更多

相似问题

使用getAttribute的for-循环中的querySelector

13

在R中避免For-循环

55

避免R中的for-循环

33

在本例中避免for-循环的方法

12

如何避免R中的for-循环

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文