简单说明cookie和session
首先,cookie是一种缓存机制,session是会话机制以最常见的登陆案例讲解cookie的使用过程:
- 首先用户在客户端浏览器向服务器首次发起登陆请求
- 登陆成功后,服务端会把登陆的用户信息设置在cookie 中,并将cookie返回给客户端浏览器
- 客户端浏览器接收到cookie请求后,会把 cookie 保存到本地(可能是内存,也可能是磁盘,看具体使用情况而定)
- 以后再次访问该web应用时,客户端浏览器就会把本地的cookie带上,这样服务端就能根据cookie获得用户信息了
同样以登陆案例为例子讲解session的使用过程:
- 首先用户在客户端浏览器发起登陆请求
- 登陆成功后,服务端会把用户信息保存在服务端,并返回一个唯一的session标识给客户端浏览器。
- 客户端浏览器会把这个唯一的session标识保存在起来
- 以后再次访问web应用时,客户端浏览器会把这个唯一的session标识带上,这样服务端就能根据这个唯一标识找到用户信息。
看到这里可能会引起疑问:把唯一的session标识返回给客户端浏览器,然后保存起来,以后访问时带上,这难道不是cookie吗?
- 没错,session只是一种会话机制,在许多web 应用中,session机制就是通过cookie来实现的。也就是说它只是使用了
cookie的功能,并不是使用cookie完成会话保存。与cookie在保存客户端保存会话的机制相反,session通过cookie的功能把会话信息保存到了服务端。
session和cookie有什么区别?
- cookie是浏览器提供的一种缓存机制,它可以用于维持客户端与服务端之间的会话
- session指的是维持客户端与服务端会话的一种机制,它可以通过cookie实现,也可以通过别的手段实现。
- 如果用cookie 实现会话,那么会话会保存在客户端浏览器中;而session机制提供的会话是保存在服务端的。