会话技术之session的工作原理及应用

首先介绍一下HTTP协议:

HTTP协议是一种“无状态”的协议。客户端浏览器每向服务器发出一次request,服务器返回给客户端一个response,连接就被关闭了。服务器端不保留连接的有关信息,因此等到下一次连接时,服务器端没有上次的连接信息,无法判断这次的连接和之前的连接是否属于同一客户,因此必须使用会话技术记录连接的相关信息。

从客户打开浏览器连接到服务器,到客户关闭浏览器离开服务器的整个过程,称为一个会话

客户在浏览器上访问服务器时,可能会反复连接到这个服务器的几个页面、反复刷新一个页面或不断向一个页面提交信息等,服务器是依靠session对象来确定这是否是同一个客户的。

session工作原理:

1)客户首次访问服务器的一个页面时,服务器会为客户分配一个session对象,可通过getSession()方法获取,同时服务器会为该session对象指定一个唯一的ID,并且会将该ID发送到客户端并写入cookie中,使客户端与服务器端的session建立一一对应关系。

2)当客户继续访问服务器上其他资源时,服务器不再为客户分配新的session对象。只有当客户端浏览器关闭、服务器非正常关闭、session超时或者调用session的invalidate()方法使其失效,表示客户端和服务器端的会话结束。

3)当客户重新打开浏览器访问服务器时,服务器会重新为客户分配一个新的session对象,并且重新分配session的ID。

session应用之购物车:

session是一个域对象,在一次会话内有效,所以可利用session的该功能,记录成功登录的用户名以及用户所选购商品的名称和数量,实现购物车功能。

核心代码如下:

扫描二维码关注公众号,回复: 1486051 查看本文章


猜你喜欢

转载自blog.csdn.net/a_mysix/article/details/80562585