cookie、session和会话保持

1、会话

在程序中,会话跟踪是很重要的事情。理论上,一个已登录用户,在这次登录后进行的所有请求操作都应该属于同一个会话,而另一个用户的所有请求操作则应该属于另一个会话,二者不能混淆。例如,用户 A 在某一商城登录后,然后又选购商品,将商品加入了购车等,这一系列的操作应该都属于同一个会话,而不用户 B 或用户 C 的操作又属于另外的会话。

Web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议。一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接,这就意味着服务器无法从连接上跟踪会话,通俗点来说下一个接口无法知道上一个接口做了什么,保存了什么信息等。比如用户 A 将一件商品放入购物车内,当再次将商品加入服务器(又调用了一次接口),此时已经无法判断该购买行为是属于用户 A 的会话还是用户 B 的会话了。要跟踪该会话,必须引入一种机制。

Cookie 就是这样的一种机制。它可以弥补HTTP协议无状态的不足。在 Session 出现之前,基本上所有的网站都采用 Cookie 来跟踪会话。

2、cookie

3、session

在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象(session对象),注意:一个浏览器独占一个session对象(默认情况下)。因此,在需要保存用户数据时,服务器程序可以把用户数据写到用户浏览器独占的 session 中,当用户使用浏览器访问其它程序时,其它程序可以从用户的 session 中取出该用户的数据,为用户服务。

Session 代表着服务器和客户端一次会话的过程。Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的信息将不会丢失,而是在整个用户会话中一直存在下去。当客户端关闭会话,或者 Session 超时失效时会话结束。

也就是说,session 的作用是告诉了服务器

猜你喜欢

转载自www.cnblogs.com/wenxuehai/p/12061301.html
今日推荐