今天将一下cookie和session
什么是 cookie 和 session?
cookie 是网站用来辨别用户身份,进行会话跟踪,存储在本地终端上的数据。
session(会话)本来含义是指有始有终的一系列动作和消息。在 web 中,session 主要用来在服务器端存储特定用户对象会话所需要的信息。
cookie 和 session 产生的原因:
http 协议是一个无状态协议,在特定操作的时候,需要保存信息,进而产生了 cookie和 session
cookie 原理:
cookie 由服务器产生,浏览器第一次请求,服务器发送给客户端进而保存。浏览器继续
访问时,就会在请求头的 cookie 字段上附带 cookie 信息,这样服务器就可以识别是谁在访
问了。但是 cookie 存在缺陷:
- 不安全—本地保存,容易被篡改
- 大小受限,本身最大 4kb
cookie 虽然在一定程度上解决了‘保持状态’的需求,但是我们希望有一种新的技术可以克服 cookie 缺陷,这种技术就是 session。
session 原理:
session 在服务器保存—解决安全问题。
那么,问题来了:服务器上有 session,但是客户端的请求发送过来,服务器如何知道
session_a,session_b,到底和哪个请求对应。所以,为了解决这个问题:cookie 就作为这个桥梁。在 cookie 有一个 sessionid 字段,可以用来表示这个请求对应服务器中的哪一个 session。
禁用 cookie,一般情况下,session 也无法使用。特殊情况下可以使用 url 重写技术来使用 session。url 重写技术:将 sessionid 拼接到 url 里面。
session 的生命周期:服务器创建开始,有效期结束(一般网站设定都是大约 30 分钟左右)就删除。
cookie和session区别
-
存储位置不同:
cookie是存储在本地浏览器,session存在服务器上。 -
存储容量不同:
每个cookie保存的数据不超过4kb,每个站点不超过20个cookie。 -
安全性不同:
cookie没有session安全。 -
服务器压力不同
今天就将到这里,后面会用代码来演示这cookie和seesion。大家有什么不懂的可以留言和我说。
下课!!!