- Session
-
- 如何创建Session
- 如何使用Session
- 如果操作Session
- 什么是Session?
- 它是一种记录客户状态的机制。使用上比Cookie简单,但是当用户增多时,会对增加服务器的存储压力。
- 如果说Cookie机制是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案表就可以了。
- Session的运行机制
- 创建Session->调用Session(增加内容,只会保存在服务器中)->生成Session ID->发送给客户端
- 客户端发起请求->带上Session ID->服务器端接收请求->匹配对应的Session
- Session的生命周期
- 为了高速的存取数据,它保存在服务器的内存中。每个用户都有它自己独一的ID值。
- Session在用户第一次访问服务器的时候自动创建。需要注意只有访问JSP、Servlet等程序时才会创建Session,只访问HTML、IMAGE等静态资源并不会创建Session。如果尚未生成Session,也可以使用request.getSession(true)强制生成Session。Session生成后,只要用户继续访问,服务器就会更新Session的最后访问时间,并维护该Session。用户每访问服务器一次,无论是否读写Session,服务器都认为该用户的Session“活跃(active)”了一次。
- Session的有效期
- 为防止内存溢出,服务器会把长时间内没有活跃的Session从内存删除。这个时间就是Session的超时时间。如果超过了超时时间没访问过服务器,Session就自动失效了。
- Session的超时时间为maxInactiveInterval属性,可以通过对应的getMaxInactiveInterval()获取,通过setMaxInactiveInterval(longinterval)修改。
- Session的超时时间也可以在web.xml中修改。另外,通过调用Session的invalidate()方法可以使Session失效。
- Session的常用到的地方
- 用户登录。
- Cookie
- 什么是Cookie
- Cookie的作用
- Session和Cookie的区别
- Cookie的数据存放在浏览器上,Session的数据存放在服务器上。
- Cookie安全性低,很容易被别人解析本地的Cookie。Session的安全性较高。
- Session会在一定时间内保存数据到服务器上。但是,当访问量增多时,会比较占用服务器的内存,从而影响服务器的性能。
- 单个Cookie在客户端的限制大小是3k,换句话说就是客户端只能存放3K左右的信息在在浏览器中。
- 如果是考虑到服务器的性能可以使用Cookie,如果考虑安全性可以使用Session。
- Session和Cookie分别属于服务器端和客户端。但是前者对后者有依赖的关系。当服务器端执行Session机制时候回生成一个ID值,这个ID的值会发送给客户端,然后客户端每次请求都会把这个ID值放到http请求的头部发送给服务端,而这个ID值也会被服务器端的保存下来,而保存的容器就是Cookie。所以,当我们完全禁掉浏览器的Cookie的时候,Session不能正常的使用。
Asp.net中的Session和Cookie
猜你喜欢
转载自www.cnblogs.com/ZengJiaLin/p/8616070.html
今日推荐
周排行