1、什么是全局对象?
2. 什么是应用级对象?
-
是否挂掉:node服务器单个进程最大1400M,需要重启App应用
3. 什么是session?
-
在说session是啥之前,我们先来说说为什么会出现session会话,它出现的机理是什么?我们知道,我们用浏览器打开一个网页,用到的是HTTP协议,学过计算机的应该都知道这个协议,它是无状态的,什么是无状态呢?就是说这一次请求和上一次请求是没有任何关系的,互不认识的,没有关联的。但是这种无状态的的好处是快速。
-
所以针对以上问题:这一次请求和上一次请求是没有任何关系: 那么我们引入session。
-
session是什么呢?一个词:就是一次会话。
-
什么是一次会话?
-
session代表服务器与浏览器的一次会话过程,这个过程是连续的,也可以时断时续的。
-
针对同一个用户:关闭浏览器失效,浏览器子窗口共享(sessionkey一样),各浏览器窗口不共享(sessionkey不一样,但是想一下是同一个用户所以存的值是一样的,但是是两个对象,不是引用地址)。
-
这时候我们回想到 cookie也可以存么?但是cookie有限制。并且默认就是明文存放在客户端内存不安全。
-
session呢?也受限制,但不至于那么小吧。另外本质上session最终还是要存入cookie的?意思就是比如我们将一个字段存在session中,这个字段小的话,直接存在cookie中了,但是如果大了,怎么处理的?
-
这时候我们想着不是session存在服务端吗?不是。太片面。你想想要解决cookie有大小限制问题。是不是有两种办法,另外开辟一块内存存,或者存服务器(这里说的就是存ridas、mysql数据库)。那再想想是不是
-
不是最终还是要存在cookie中了么,怎么解决cookie大小限制的。因为这时候在cookie中存的是sessionkey,key不大吧。同样默认加密存储,安全么。最终就是根据这个sessionkey去找session值。这里sessionkey为什么加密,我也不清楚,反正我觉得sessionvalue加密还能理解,这个可能就是cookie发现是存session,默认存的值都是加密的,不论存sessionkey还是sessionvalue。