WEB开发(4) 会话跟踪

311a99ba1ee0eff3c802752e59f566aa58f.jpg

9b7beba9f30f253393ce69d7c350033c383.jpg

本意”甜饼“,现在成为了一种通用的标准。Cookie的作用就在于在客户端处理客户身份,弥补HTTP协议无状态的不足。

 5a2f455c7531d6ed53e9fbff7eda987ac77.jpg

要查看某个网站颁发的Cookie,需要在浏览器中输入javascript:alert(document.cookie)。当然,里面的信息是加密的。

4836fc9c9823bd05fcbd00433a7748022bb.jpg

Cookie应用

详见cookie.jsp和login.jsp,介绍了使用Cookie来记录用户访问的次数

6508afffad32b28e518736bc31cd6159447.jpg

可以使用MD5对信息进行加密:

09e7846c1f245d400ca6396792b9f94afb2.jpg

 Session机制

Session是服务端使用的一种记录客户端状态的机制,使用上比Cookie简单一些,但是会增加相应的服务器存储压力。

什么是Session:49c8b6d3227dc655a9d86ca26ce75066ce2.jpg

 Session的使用d3f05b9e971eadb9cc21bb94928618e3980.jpg

* 和Cookie一样,也是一种Key-Value的属性(Attribute)对。

***编码session.jsp犯了一个严重的错误,用getParameter()获取id的值。html中设置id值,目的是利用id值得到这个元素,而不是反过来!

session的生命周期

2f1adfe3060191b9057f90ca490c4cd97a8.jpg

session的有效期

f02d5369f7fb0ad2d65031aa7d95e540cea.jpg5d45d5b6846ac7ab073615a3fe59649c24a.jpg

Session超过maxInactiveInterval就会被删除。被调用invalidate()也会被删除。

Session的常用方法

45ccb104fe6ce9fa8423a1704a7b28a6cd4.jpg

Tomcat中默认超时时间为20分钟,可以通过setMaxInactiveInterval(int second)来设置。或者通过修改web.xml中session的默认配置

<session-config>
    <session-timeout>60</session-timeout> <!-- 单位:分钟 -->
</session-config>

* Session需要浏览器支持Cookie,因为Session需要使用Cookie作为识别标志——HTTP协议是无状态的,无法作为判断是否统一用户的依据。因此需要一个Cookie名为JSESSIONID来帮助识别是否为同一用户

5ba2104e4cf9213bc20b974c76f2307b609.jpg

Session在不同浏览器中不共享,但在子窗口中共享(因为子窗口的Cookie共享)。

 URL地址重写

对客户端不支持Cookie的解决方案。

474572e99f6171e54549c9c6c28cae57e83.jpg

response.encodeURL(),能够将当前URL改变为编码过后的URL

禁用Cookie

d3d374ea77c271223410f3d5d12e8525092.jpg

Session和Cookie的比较

通常情况下两者均可满足会话追踪的功能,但是有时候也不尽然。

e40d027377ba1bd55ab476144802cf4d7af.jpg

1. 从存取方式

d1cff7e0f7cef84160791d47127442a35e8.jpg

2. 从隐私安全

d6d131215419f340604951c8bf1905fdd75.jpg

3. 从有效期

56caeab4b1d7137cbcbb78b991690a7bae1.jpg

4. 从对服务器负担

d7efbb7b3df1d7bf5ff1801ae042b55f8df.jpg

cba116b7067959023e67526f1704a393f08.jpg

5. 从浏览器支持

8d6e5bb9da17d61f7549547ebdb8935a2af.jpg

6. 从跨域名

bae4f63a015daa16bb3b27a5ced92ca9826.jpg

 

转载于:https://my.oschina.net/swanf/blog/3069320

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值