会话管理技术概论

为何要实现会话管理(Session Management)?

通俗地说:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。
也就是:用户在一定时间内,对一个Web程序或网站进行多次请求,完成和Web程序和网站的一次交互的过程。
会话管理是跟踪跨 Web 用户活动的过程。
会话管理其实是实现跨页面数据传输。
Http协议是无状态的,每个请求都是独立的,单独和服务器建立连接,这样服务器无法确认两次请求是否是同一个用户,也无法跟踪用户数据和活动。所以需要实现会话管理。

会话管理技术

隐藏表单字段
嵌入到html表单中,在网页上不可见的表单字段

<input type=”hidden” name=”status” value=”团员” >

URL重写
通过修改 URL 以管理用户会话,多是为了提交一些数据给下一个组件(servlet或jsp)。
用于传送非重要信息,因为url在地址栏可见。

Cookie(曲奇饼干)
Cookie是一种客户端的会话管理技术
Cookie由服务器端生成,存放到客户端的小型文本文件,用于存储一些少量的数据
一个Cookie只能存放一项信息,以名称-值对的形式存储数据,名称和值都是字符串。
Cookie和响应一起发送到客户端,Cookie是作为响应报头/标头被发送到客户端,所以必须调用响应对象的addCookie(Cookie c)方法将Cookie对象添加到响应对象,Cookie才会被存到客户端
默认一个Cookie在浏览器关闭后被清除,默认是浏览器会话结束清除Cookie
每个主机只能获取自己存放的Cookie,一个主机/一个域名存放的Cookie只能自己读取,其他主机/域名不能读取这些Cookie,如百度存放的Cookie只能百度读取,网易的Cookie只能网易用。
一旦存放了Cookie,则下次向该程序发送请求的时候,Cookie会跟着请求一起被发送到服务器端。Cookie作为请求的报头和请求一起发送到服务器端。
一个Cookie只能包含一项标记信息,以键-值对的形式存放。
Cookie不安全,容易被攻击或篡改,不宜存放机密数据,cookie信息不应太大,否则发送数据量大,影响传输。Cookie适合存放少量非机密信息在客户端。如访问时间,浏览历史,会话id等
Cookie可被客户端删除或禁用。
Cookie的数量、大小限制等因浏览器而不同。一些浏览器限制每个域名不超过30-50个Cookie,一个Cookie大小不超过4kb,但具体因浏览器不同。
会话技术(会话API)
Session是服务器端技术
服务器在运行时可以为每一个用户浏览器创建一个其独享的session对象,我们可以将一些在会话期间使用的数据放到该session对象(HttpSession类型),实现会话期间数据共享
会话对象以名称/值对的形式存储会话信息,名称通常是字符串,值可以是任何对象, 如字符串,数字,任何实体对象等
session对象是存储在服务器的内存中,在会话超时或调用invalidate方法后被摧毁。但若是服务器突然关闭,则会话数据会消失,这时需要持久化技术的辅助来确保数据不会消失。
一般情况下,session需要cookie技术的支持,因为很多web程序会将session id作为一个cookie存到客户端。如果客户端禁用了Cookie,则就要使用url重写等方式实现session.
Session比cookie相对安全,适合保存机密性信息,但因为存储在服务器端,访问量大的时候,会给服务器造成压力。而且不容易实现多个服务器共享数据.

使会话失效的三种方式
1.调用HttpSession的setMaxInactiveInterval(int time)设置会话的最大部活动时间,单位为秒
2.调用HttpSession的invalidate()方法使会话立刻失效
3.在web.xml文件中使用session-timeout标记配置会话的超时时间,单位是分钟

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值